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.