1) They follow a different code path (which is what makes them a superior way to handle errors over return values).
2) They cannot be emulated by sum types when all you want to do is not handle the exception and let it bubble up the stack frames.
1) They follow a different code path (which is what makes them a superior way to handle errors over return values).
2) They cannot be emulated by sum types when all you want to do is not handle the exception and let it bubble up the stack frames.