.NET does not have enforced ("checked") exceptions like java. The intellisense might show this information, if the developer has added a /// <exception.../>
block - but ultimately more exceptions can happen than you expect (OutOfMemoryException
, ThreadAbortException
, TypeLoadException
, etc can all happen fairly unpredictably).
In general, you should have an idea of what things are likely to go wrong, and which ones you can actually do something useful about. In most cases, the correct behaviour is to let the exception bubble up (just running any "finally" code to release resources).
Eric Lippert has a good blog on this subject here.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…