From second link:<p>&gt; Obviously on OOM you usually want to abort _something_. It&#x27;s just not always the entire thread or process.<p>Surely you want to abort _some dynamic extent_. The fact that it&#x27;s (currently) a full C thread is an implementation detail that can hopefully be improved. Requiring manual OOM handling on every single operation is not a scalable solution and will lead to bugs due to laziness or fatigue.<p>Exceptions aren&#x27;t necessarily bad&#x2F;evil. A lot has been learned about the challenges of exceptions&#x2F;conditions&#x2F;effects. Language designs will evolve to have better versions of what is a foundational idea in the theory of computation.<p>In the meantime, a try&#x2F;catch block is only a small macro over thread::spawn, thread::join, thread::catch_panic away. It would be nice if the language supported that without the weight of a full thread.