Does using the 'catch, when' feature make exception handling faster because the handler is skipped as such and the stack unwinding can happen much earlier as when compared to handling the specific use cases within the handler?
22 If there is a hierarchy of exceptions you can use the base class to catch all subclasses of exceptions. In the degenerate case you can catch all Java exceptions with:
catch (Exception e, ExtendsRuntimeException re) { // common logic to handle both exceptions } Is it possible to avoid duplicating the handler code in each catch block?
try { WebId = new Guid(queryString["web"]); } catch (FormatException) { WebId = Guid.Empty; } catch (OverflowException) { WebId = Guid.Empty; } Is there a way to catch both exceptions and only set WebId = Guid.Empty once? The given example is rather simple, as it's only a GUID, but imagine code where you modify an object multiple times, and if one of the manipulations fails as expected, you ...
I think that this only works if you raise and then catch the exception, but not if you try getting the traceback before raising an exception object that you create, which you might want to do in some designs.
71 Best practice is that exception handling should never hide issues. This means that try-catch blocks should be extremely rare. There are 3 circumstances where using a try-catch makes sense. Always deal with known exceptions as low-down as you can. However, if you're expecting an exception it's usually better practice to test for it first.
I recently came across code written by a fellow programmer in which he had a try-catch statement inside a catch! Please forgive my inability to paste the actual code, but what he did was something
I'm writing a shell script and need to check that a terminal app has been installed. I want to use a TRY/CATCH command to do this unless there is a neater way.