Rust doesn't have exceptions ... or does it?

Panics

Panics are quite similar to single purpose exceptions.

https://doc.rust-lang.org/book/ch09-01-unrecoverable-errors-with-panic.html

https://github.com/rust-lang/rfcs/blob/master/text/1513-less-unwinding.md https://github.com/rust-lang/rfcs/pull/1513

https://github.com/rust-lang/rfcs/blob/master/text/1328-global-panic-handler.md

https://github.com/rust-lang/rfcs/blob/master/text/1236-stabilize-catch-panic.md https://github.com/rust-lang/rfcs/pull/1236

Mixing Languages

Imagine a C routine performing a Rust callback and the Rust callback routine panics. The C code can’t handle the panic unwind. Imagine a Rust program calling a C++ function, and it throws a C++ exception, Rust can’t handle that.

https://doc.rust-lang.org/std/panic/fn.catch_unwind.html

https://www.reddit.com/r/rust/comments/phws7n/unwinding_vs_abortion_upon_panic/