Freigeben über


IMethodReturnMessage.Exception-Eigenschaft

Ruft die Ausnahme ab, die während des Methodenaufrufs ausgelöst wurde.

Namespace: System.Runtime.Remoting.Messaging
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
ReadOnly Property Exception As Exception
'Usage
Dim instance As IMethodReturnMessage
Dim value As Exception

value = instance.Exception
Exception Exception { get; }
property Exception^ Exception {
    Exception^ get ();
}
/** @property */
Exception get_Exception ()
function get Exception () : Exception

Eigenschaftenwert

Das Ausnahmeobjekt für den Methodenaufruf oder NULL (Nothing in Visual Basic), wenn die Methode keine Ausnahme ausgelöst hat.

Ausnahmen

Ausnahmetyp Bedingung

SecurityException

Der direkte Aufrufer führt den Aufruf über einen Verweis auf die Schnittstelle aus und verfügt nicht über die Berechtigung für die Infrastruktur.

Beispiel

Der folgende Beispielcode veranschaulicht einen benutzerdefinierten Proxy, der RealProxy.Invoke überschreibt, um die zurückgegebenen Meldungsinformationen auszugeben. Dies schließt auch Informationen darüber ein, ob die Methode eine Ausnahme ausgelöst hat.

Public Overrides Function Invoke(myMessage As IMessage) As IMessage
   Dim myCallMessage As IMethodCallMessage = CType(myMessage, IMethodCallMessage)
   
   Dim myIMethodReturnMessage As IMethodReturnMessage = RemotingServices.ExecuteMessage _
                                                   (myMarshalByRefObject, myCallMessage)
   If Not (myIMethodReturnMessage.Exception Is Nothing) Then
      Console.WriteLine(myIMethodReturnMessage.MethodName + " raised an exception.")
   Else
      Console.WriteLine(myIMethodReturnMessage.MethodName + " does not raised an exception.")
   End If
   
   Return myIMethodReturnMessage
End Function 'Invoke
public override IMessage Invoke(IMessage myMessage)
{
   IMethodCallMessage myCallMessage = (IMethodCallMessage)myMessage;

   IMethodReturnMessage myIMethodReturnMessage =
      RemotingServices.ExecuteMessage(myMarshalByRefObject,myCallMessage);
   if(myIMethodReturnMessage.Exception != null)
      Console.WriteLine(myIMethodReturnMessage.MethodName +
         " raised an exception.");
   else
      Console.WriteLine(myIMethodReturnMessage.MethodName +
         " does not raised an exception.");

   return myIMethodReturnMessage;
}
virtual IMessage^ Invoke( IMessage^ myMessage ) override
{
   IMethodCallMessage^ myCallMessage = dynamic_cast<IMethodCallMessage^>(myMessage);

   IMethodReturnMessage^ myIMethodReturnMessage =
      RemotingServices::ExecuteMessage( myMarshalByRefObject, myCallMessage );
   if ( myIMethodReturnMessage->Exception != nullptr )
   {
      Console::WriteLine( "{0} raised an exception.",
         myIMethodReturnMessage->MethodName );
   }
   else
   {
      Console::WriteLine(  "{0} does not raise an exception.",
         myIMethodReturnMessage->MethodName );
   }

   return myIMethodReturnMessage;
}
/** @attribute SecurityPermission(SecurityAction.Demand, Flags = SecurityPermissionFlag.Infrastructure)
 */
 public IMessage Invoke(IMessage myMessage)
 {
     IMethodCallMessage myCallMessage = (IMethodCallMessage)myMessage;
     IMethodReturnMessage myIMethodReturnMessage 
         = RemotingServices.ExecuteMessage(myMarshalByRefObject,
             myCallMessage);

     if (myIMethodReturnMessage.get_Exception() != null) {
         Console.WriteLine(myIMethodReturnMessage.get_MethodName() 
             + " raised an exception.");
     }
     else {
         Console.WriteLine(myIMethodReturnMessage.get_MethodName() 
             + " does not raised an exception.");
     }

     return myIMethodReturnMessage;
 } //Invoke

.NET Framework-Sicherheit

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

IMethodReturnMessage-Schnittstelle
IMethodReturnMessage-Member
System.Runtime.Remoting.Messaging-Namespace