Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You absolutely can catch and handle a panic in Rust [0]. Panics are just exceptions by a different name. Although, I do agree that the Rust ecosystem tries hard to avoid using panics, which is good.

[0] Example of catching, handling, and "swallowing" a panic in Rust (GTP4 wrote this): https://play.rust-lang.org/?version=stable&mode=debug&editio...



This is very uncommon to do and cannot be compared to exceptions


Catching a panic is _morally_ equivalent to catching a SIGSEGV. It is not meant for normal program error conditions and expected failures (e.g. "No such file").


I.e. only to be used in exceptional cases.


Learned something new. I feel though it's better if most programmers didn't know about this. It looks like cursed knowledge.


It's not exactly cursed knowledge, you just have to have enough judgement to understand where it's appropriate.

Trying to do magic and patch something on a panic and retry is cursed indeed. If it's about cleaning up resources of a thread and logging this somewhere, then there's nothing cursed about this.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: