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 |
---|---|
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
- SecurityPermission für die Verwendung von Infrastrukturcode. Anforderungswert: SecurityAction.LinkDemand; Berechtigungswert: SecurityPermissionFlag.Infrastructure
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