try Statements and Exceptions
A try statement specifies a code block subject to error-handling
or cleanup code. The try
block must be followed by a catch block, a finally block, or both. The
catch block executes when an error
occurs in the try block. The finally block executes after execution leaves
the try block (or if present, the
catch block), to perform cleanup code,
whether or not an error occurred.
A catch block has access
to an Exception object that contains
information about the error. You use a catch block to either compensate for the error
or rethrow the exception. You rethrow an exception if
you merely want to log the problem, or if you want to rethrow a new,
higher-level exception type.
A finally block adds
determinism to your program, by always executing no matter what. It’s
useful for cleanup tasks such as closing network connections.
A try statement looks like
this:
try
{
... // exception may get thrown within execution of
// this block
}
catch (ExceptionA ex)
{
... // handle exception of type ExceptionA
}
catch (ExceptionB ex)
{
... // handle exception of type ExceptionB
}
finally
{
... // cleanup code
}Consider the following code:
int x = 3, y = 0; Console.WriteLine (x / y);
Because y is zero, the runtime
throws a DivideByZeroException, and our
program terminates. We can prevent this by catching the exception as
follows:
try{int x = 3, y = 0; Console.WriteLine (x / y);}catch (DivideByZeroException ex){Console.Write ("y cannot be zero. ");}// Execution resumes here ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access