ILGenerator.BeginCatchBlock Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Begins a catch block.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- exceptionType
- Type: System.Type
The type of the exception that is caught.
| Exception | Condition |
|---|---|
| ArgumentException | The catch block is within a filtered exception. |
| ArgumentNullException | exceptionType is Nothing, and the exception filter block has not returned a value that indicates that finally blocks should be run until this catch block is located. |
| NotSupportedException | The Microsoft intermediate language (MSIL) being generated is not currently in an exception block. |
Emits a branch instruction to the end of the current exception block.
Note: |
|---|
If the filter exception block returns the constant exception_execute_handler, the argument to the BeginCatchBlock is not checked. For more information, see the Common Language Infrastructure documentation. The documentation is available online; see ECMA C# and Common Language Infrastructure Standards on MSDN and Standard ECMA-335 - Common Language Infrastructure (CLI) on the Ecma International Web site. |
The following example demonstrates the use of the BeginCatchBlock method. This code is part of a larger example provided for the BeginExceptionBlock method.
' Use the Leave instruction to exit a try block. You cannot branch from try ' blocks. adderIL.Emit(OpCodes.Leave, exTryCatchFinally) ' Start the catch block for OverflowException. ' adderIL.BeginCatchBlock(overflowType) ' On entry to the catch block, the thrown exception is on the stack. Store it ' in a local variable. adderIL.Emit(OpCodes.Stloc_S, thrownException)
Note: