# \`fail\` keyword

**URL:** <https://internals.rust-lang.org/t/fail-keyword/22637>\
**Category:** language design\
**Created:** [March 24, 2025, 8:17pm UTC](https://internals.rust-lang.org/t/fail-keyword/22637 "2025-03-24T20:17:55Z")\
**Posts on this page:** 1\
**Showing post:** 11

<div class="post-metadata">

**Author:** ![programmerjake](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/programmerjake/32/5893_2.png) [@programmerjake](https://internals.rust-lang.org/u/programmerjake)\
**Post date:** [March 24, 2025, 11:33pm UTC](https://internals.rust-lang.org/t/fail-keyword/22637/11 "2025-03-24T23:33:19Z")

</div>

i'm mostly repeating what i've seen argued before, after much looking I may have found something relevant to bikeshedding what name to use:

> [@Syntax for returning early with an error](https://internals.rust-lang.org/t/syntax-for-returning-early-with-an-error/14181/1):
>
> `throw` and `raise` are associated with exceptions, which Rust doesn't have, so these names are suboptimal. `fail` has the disadvantage that it implies an error, but the keyword should work for any type that implements `Try`, so the type that is returning early isn't necessarily an error. I'm not sure what `yeet` is supposed to mean, I guess it's a made up word.

---

_[View the full topic](https://internals.rust-lang.org/t/fail-keyword/22637)._
