CodeTryCatchFinallyStatement Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
try Tetszőleges számú catch záradékot és blokkot tartalmazó blokkot finally jelöl.
public ref class CodeTryCatchFinallyStatement : System::CodeDom::CodeStatement
public class CodeTryCatchFinallyStatement : System.CodeDom.CodeStatement
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class CodeTryCatchFinallyStatement : System.CodeDom.CodeStatement
type CodeTryCatchFinallyStatement = class
inherit CodeStatement
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type CodeTryCatchFinallyStatement = class
inherit CodeStatement
Public Class CodeTryCatchFinallyStatement
Inherits CodeStatement
- Öröklődés
- Attribútumok
Példák
Az alábbi példakód bemutatja, hogy a CodeTryCatchFinallyStatement kivételkezeléshez egy utasítást kell definiálni try...catch...finally .
// Declares a type to contain a try...catch block.
CodeTypeDeclaration type1 = new CodeTypeDeclaration("TryCatchTest");
// Defines a method that throws an exception of type System.ApplicationException.
CodeMemberMethod method1 = new CodeMemberMethod();
method1.Name = "ThrowApplicationException";
method1.Statements.Add( new CodeThrowExceptionStatement(
new CodeObjectCreateExpression("System.ApplicationException", new CodePrimitiveExpression("Test Application Exception")) ) );
type1.Members.Add( method1 );
// Defines a constructor that calls the ThrowApplicationException method from a try block.
CodeConstructor constructor1 = new CodeConstructor();
constructor1.Attributes = MemberAttributes.Public;
type1.Members.Add( constructor1 );
// Defines a try statement that calls the ThrowApplicationException method.
CodeTryCatchFinallyStatement try1 = new CodeTryCatchFinallyStatement();
try1.TryStatements.Add( new CodeMethodInvokeExpression( new CodeThisReferenceExpression(), "ThrowApplicationException" ) );
constructor1.Statements.Add( try1 );
// Defines a catch clause for exceptions of type ApplicationException.
CodeCatchClause catch1 = new CodeCatchClause("ex", new CodeTypeReference("System.ApplicationException"));
catch1.Statements.Add( new CodeCommentStatement("Handle any System.ApplicationException here.") );
try1.CatchClauses.Add( catch1 );
// Defines a catch clause for any remaining unhandled exception types.
CodeCatchClause catch2 = new CodeCatchClause("ex");
catch2.Statements.Add( new CodeCommentStatement("Handle any other exception type here.") );
try1.CatchClauses.Add( catch2 );
// Defines a finally block by adding to the FinallyStatements collection.
try1.FinallyStatements.Add( new CodeCommentStatement("Handle any finally block statements.") );
// A C# code generator produces the following source code for the preceeding example code:
// public class TryCatchTest
// {
//
// public TryCatchTest()
// {
// try
// {
// this.ThrowApplicationException();
// }
// catch (System.ApplicationException ex)
// {
// // Handle any System.ApplicationException here.
// }
// catch (System.Exception ex)
// {
// // Handle any other exception type here.
// }
// finally {
// // Handle any finally block statements.
// }
// }
//
// private void ThrowApplicationException()
// {
// throw new System.ApplicationException("Test Application Exception");
// }
// }
' Declares a type to contain a try...catch block.
Dim type1 As New CodeTypeDeclaration("TryCatchTest")
' Defines a method that throws an exception of type System.ApplicationException.
Dim method1 As New CodeMemberMethod()
method1.Name = "ThrowApplicationException"
method1.Statements.Add(New CodeThrowExceptionStatement( _
New CodeObjectCreateExpression("System.ApplicationException", New CodePrimitiveExpression("Test Application Exception"))))
type1.Members.Add(method1)
' Defines a constructor that calls the ThrowApplicationException method from a try block.
Dim constructor1 As New CodeConstructor()
constructor1.Attributes = MemberAttributes.Public
type1.Members.Add(constructor1)
' Defines a try statement that calls the ThrowApplicationException method.
Dim try1 As New CodeTryCatchFinallyStatement()
try1.TryStatements.Add(New CodeMethodInvokeExpression(New CodeThisReferenceExpression(), "ThrowApplicationException"))
constructor1.Statements.Add(try1)
' Defines a catch clause for exceptions of type ApplicationException.
Dim catch1 As New CodeCatchClause("ex", New CodeTypeReference("System.ApplicationException"))
catch1.Statements.Add(New CodeCommentStatement("Handle any System.ApplicationException here."))
try1.CatchClauses.Add(catch1)
' Defines a catch clause for any remaining unhandled exception types.
Dim catch2 As New CodeCatchClause("ex")
catch2.Statements.Add(New CodeCommentStatement("Handle any other exception type here."))
try1.CatchClauses.Add(catch2)
' Defines a finally block by adding to the FinallyStatements collection.
try1.FinallyStatements.Add(New CodeCommentStatement("Handle any finally block statements."))
' A Visual Basic code generator produces the following Visual Basic source
' code for the preceeding example code:
' '------------------------------------------------------------------------------
' ' <auto-generated>
' ' This code was generated by a tool.
' ' Runtime Version:2.0.50727.42
' '
' ' Changes to this file may cause incorrect behavior and will be lost if
' ' the code is regenerated.
' ' </auto-generated>
' '------------------------------------------------------------------------------
'Option Strict Off
'Option Explicit On
' 'Namespace Samples
' Public Class TryCatchTest
' Public Sub New()
' MyBase.New()
' Try
' Me.ThrowApplicationException()
' Catch ex As System.ApplicationException
' 'Handle any System.ApplicationException here.
' Catch ex As System.Exception
' 'Handle any other exception type here.
' Finally
' 'Handle any finally block statements.
' End Try
' End Sub
' Private Sub ThrowApplicationException()
' Throw New System.ApplicationException("Test Application Exception")
' End Sub
' End Class
' End Namespace
Megjegyzések
CodeTryCatchFinallyStatement kódblokkot try/catch jelölhet.
A TryStatements tulajdonság tartalmazza a blokkon belül try végrehajtandó utasításokat. A CatchClauses tulajdonság tartalmazza a catch kifogott kivételek kezelésére vonatkozó záradékokat. A FinallyStatements tulajdonság tartalmazza a blokkon belül finally végrehajtandó utasításokat.
Note
Nem minden nyelv támogatja a try/catch blokkokat. Hívja meg a Supports metódust a GeneratorSupport.TryCatchStatements jelölővel annak megállapításához, hogy egy kódgenerátor támogatja-e try/catch a blokkokat.
Konstruktorok
| Name | Description |
|---|---|
| CodeTryCatchFinallyStatement() |
Inicializálja a CodeTryCatchFinallyStatement osztály új példányát. |
| CodeTryCatchFinallyStatement(CodeStatement[], CodeCatchClause[], CodeStatement[]) |
Inicializálja az osztály új példányát a CodeTryCatchFinallyStatement megadott utasítások használatával a kipróbáláshoz, a fogási záradékokhoz és végül a utasításokhoz. |
| CodeTryCatchFinallyStatement(CodeStatement[], CodeCatchClause[]) |
Inicializálja az osztály új példányát a CodeTryCatchFinallyStatement megadott utasítások használatával a próba- és fogási záradékokhoz. |
Tulajdonságok
| Name | Description |
|---|---|
| CatchClauses |
Lekéri a használni kívánt fogási záradékokat. |
| EndDirectives |
Lekéri a CodeDirectiveCollection végfelhasználói irányelveket tartalmazó objektumot. (Öröklődés forrása CodeStatement) |
| FinallyStatements |
Lekéri a végre használni kívánt utasításokat. |
| LinePragma |
Lekéri vagy beállítja azt a sort, amelyen a kódutasítás történik. (Öröklődés forrása CodeStatement) |
| StartDirectives |
Lekéri a CodeDirectiveCollection kezdő irányelveket tartalmazó objektumot. (Öröklődés forrása CodeStatement) |
| TryStatements |
Lekéri a kipróbálandó utasításokat. |
| UserData |
Lekéri az aktuális objektum felhasználó által definiálható adatait. (Öröklődés forrása CodeObject) |
Metódusok
| Name | Description |
|---|---|
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |