Try Statements and Exceptions
trystatement-block[catch (exception type value?)?statement-block]+ | finallystatement-block| [catch (exception type value?)?statement-block]+ finallystatement-block
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 has occurred (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; namespace TryStatementsAndExceptions { public class WeightCalculator { public static float CalcBMI (float weightKilos, float metersTall) { if (metersTall < 0 || metersTall ...