System.Win.ComObj.IServerExceptionHandler.OnException

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

procedure OnException(
const ServerClass, ExceptionClass, ErrorMessage: WideString;
ExceptAddr: NativeInt; const ErrorIID, ProgID: WideString;
var Handled: Integer; var Result: HResult); dispid 2;

C++

virtual void __fastcall OnException(const System::WideString ServerClass, const System::WideString ExceptionClass, const System::WideString ErrorMessage, NativeInt ExceptAddr, const System::WideString ErrorIID, const System::WideString ProgID, int &Handled, HRESULT &Result) = 0 ;

プロパティ

種類 可視性 ソース ユニット
procedure
function
public
System.Win.ComObj.pas
System.Win.ComObj.hpp
System.Win.ComObj IServerExceptionHandler


説明

TComObject で発生する SafeCall 例外を処理します。

TComObject.SafeCallException は、例外が発生した際に、TComObject インスタンスの ServerExceptionHandler プロパティに対して、このプロシージャを呼び出します。OnException がこの例外を処理した場合、SafeCallException は、指定された結果値と共に終了します。そうでなければ、SafeCallExceptionHandleSafeCallException を呼び出します。

このプロシージャは、次のパラメータを受け取ります:

パラメータ 説明
ServerClass TComObject クラスの名前。
ExceptionClass TComObject.SafeCallException 関数に渡される、例外のクラス名。
ErrorMessage TComObject.SafeCallException 関数に渡される、例外のエラー メッセージ。
ExceptAddr TComObject.SafeCallException 関数に渡される、例外オブジェクトのアドレス。
ErrorIID 発生したエラーのグローバル ユニーク識別子(GUID)の文字列表現。
ProgID TComObject インスタンスのグローバル ユニーク識別子(GUID)
Handled 例外を処理したことを指示する場合には、OnException 実装内でこのパラメータを 0 以外の値に変更します。そうでなければ、TComObject.SafeCallException はこの例外を処理するために HandleSafeCallException を呼び出します。
Result このパラメータを使用すると、TComObject.SafeCallException 関数の戻り値を定義することができます。
メモ: (0 以外の値を {{{1}}} に渡して)例外を自分で処理しない場合には、TComObject.SafeCallException 関数の戻り値は、その例外のために呼び出された HandleSafeCallException の戻り値になり、{{{1}}} に渡した値は無視されます。

関連項目