4 ms·
> resumable exceptions The word resumable is important to that quote, which isn't arguing against exceptions in general.
by shasta 12y ago
> resumable exceptions
The word resumable is important to that quote, which isn't arguing against exceptions in general.
- twic 12y agoI suspect a similar analysis holds, though. After all, throw-catch style exceptions do involve resumption, just not at the point at which they're thrown. You have a similar challenge in making sure that you haven't left the world in an inconsistent state when an exception emerges from some code. That said, i am skeptical that there is a significant safety practical difference between the use of checked exceptions, and the use of return values with a try! macro. In both cases, you are forced to acknowledge in the code that an exception can be thrown, which means that you have a chance to do the right thing about consistency. We could imagine a version of checked exceptions where individual throw sites have to be tagged. A parallel universe version of Java [1] might look like: InputStream in = whatever(); int b = in.read() throw IOException; Wouldn't that be exactly isomorphic to Rust's use of try! ? [1] No, not that Parallel Universe version of Java: http://blog.paralleluniverse.co/2014/05/01/modern-java/ http://blog.paralleluniverse.co/2014/05/01/modern-java/