Try Statements and Exceptions
The purpose of a try
statement is to simplify program
execution in exceptional circumstances—typically, an error. A
try
statement does two things. First, it lets the
catch
block catch exceptions thrown during the
try
block’s execution. Second, it
ensures that execution cannot leave the try
block
without first executing the finally
block. A
try
block must be followed by a
catch
block(s), a finally
block, or both. The form of a try
block looks like
this:
try { ... // exception may be thrown during execution of this // function } catch (ExceptionA ex) { ... // react to exception of type ExceptionA } catch (ExceptionB ex) { ... // react to exception of type ExceptionB } finally { ... // code to always run after try block executes, even if ... // an exception is not thrown }
Exceptions
C# exceptions are objects that contain information representing the occurrence of an exceptional program state. When an exceptional state occurs (e.g., a method receives an illegal value), an exception object may be thrown, and the call-stack is unwound until the exception is caught by an exception-handling block. For example:
using System; public class WeightCalculator { public static float CalcBMI (float weightKilos, float metersTall) { if (metersTall < 0 || metersTall > 3) throw new ArgumentException ("Impossible Height", "metersTall"); if (metersTall < 0 || weightKilos > 1000) throw new ArgumentException ("Impossible Weight", "weightKilos"); return weightKilos / (metersTall*metersTall); ...
Get C# Language Pocket Reference now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.