# Check-exn Reference entry question

**URL:** <https://racket.discourse.group/t/check-exn-reference-entry-question/362>\
**Category:** Questions & Answers\
**Tags:** question\
**Created:** [December 6, 2021, 2:10pm UTC](https://racket.discourse.group/t/check-exn-reference-entry-question/362 "2021-12-06T14:10:57Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![rclayton](https://avatars.discourse-cdn.com/v4/letter/r/7ea924/32.png) [@rclayton](https://racket.discourse.group/u/rclayton)\
**Post date:** [December 6, 2021, 2:10pm UTC](https://racket.discourse.group/t/check-exn-reference-entry-question/362/1 "2021-12-06T14:10:57Z")

</div>

The `check-exn` entry of the rackunit section of the Reference contains the sentence

> In the latter case, the exception raised must be an `exn:fail?`.

This confuses me because `exn:fail?` is a predicate, not an exception. I think the sentence should end with "must be an `exn:fail`." (or, less straightforwardly, "must satisfy `exn:fail?`.") Is that so?

---

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [December 6, 2021, 2:55pm UTC](https://racket.discourse.group/t/check-exn-reference-entry-question/362/2 "2021-12-06T14:55:07Z")

</div>

Yes, that sounds right to me. I would favor your second phrasing, "must satisfy `exn:fail?` ." Would you consider making a pull request to repair the documentation?

> **[GitHub - racket/rackunit](https://github.com/racket/rackunit/)**
>
> Contribute to racket/rackunit development by creating an account on GitHub.

Let me know if I can help with this!

---

<div class="post-metadata">

**Author:** ![sorawee](https://avatars.discourse-cdn.com/v4/letter/s/ea5d25/32.png) [@sorawee](https://racket.discourse.group/u/sorawee)\
**Post date:** [December 6, 2021, 3:20pm UTC](https://racket.discourse.group/t/check-exn-reference-entry-question/362/3 "2021-12-06T15:20:57Z")

</div>

I thought it's "idiomatic" in Racket doc to use predicates like that.

Here are more examples:

- "If local-dir-or-port is a path-string?" from [4&nbsp;FTP: Client](https://docs.racket-lang.org/net/ftp.html#%28def._%28%28lib._net%2Fftp..rkt%29._ftp-download-file%29%29)
- "in that case, the value being checked in that case is a list?" from [4.17&nbsp;Sets](https://docs.racket-lang.org/reference/sets.html#%28def._%28%28lib._racket%2Fset..rkt%29._set%2Fc%29%29)
- "If all of its arguments are list-contract?s, then or/c returns a list-contract?." from ... (Discourse doesn't let me put more than two links. Hmm...)

These seem to indicate that the use of predicate there is intentional. So if we really are going to change it, we should change it consistently throughout the whole doc, not just that one occurrence.

---

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [December 6, 2021, 5:27pm UTC](https://racket.discourse.group/t/check-exn-reference-entry-question/362/4 "2021-12-06T17:27:22Z")

</div>

Yes, I agree, consistency is good.

Side note: it's good to see you here, NNTR.

---

<div class="post-metadata">

**Author:** ![sschwarzer](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/sschwarzer/32/1940_2.png) [@sschwarzer](https://racket.discourse.group/u/sschwarzer)\
**Post date:** [December 6, 2021, 10:45pm UTC](https://racket.discourse.group/t/check-exn-reference-entry-question/362/5 "2021-12-06T22:45:55Z")

</div>

John, Sorawee, I agree with both of you. 🙂

The use of predicates in these contexts is common in the documentation, but I think it's also a bit confusing, especially for Racket newcomers.

> [@sorawee](#):
>
> Discourse doesn't let me put more than two links. Hmm...

If I'm not mistaken, this is a new user limitation. I don't remember what the conditions are for getting this removed, but likely it will happen automatically rather soonish after some activity of yours. 🙂
