Japan
サイト内の現在位置
タイトル | WebOTXサーバアプリケーション内で、インスタンス化していない例外クラスをTHROWした場合に、サーバAPが応答を返さなくなることへの対処方法について | |
---|---|---|
詳細 |
通常、ユーザアプリケーション実行時に、インスタンス化していない(GETUPしていない)例外クラスをTHROWした場合には、HolonEnterpriseランタイムライブラリが、ユーザアプリケーションの論理的なエラー検出を行い、「ClassObject is sleep (HLN_USR_EXCEPT)」のような、メッセージボックスを出現させます。 ところが、WebOTXサーバアプリケーションにおいては、WindowsNTのサービスとして動作するため、画面上にメッセージボックスが出現せず、上記エラーが発生すると、サーバアプリケーションではメッセージボックス上のOKボタンを押すことができずに、続行不能状態に陥ることとなります。 この現象を回避するには、以下のシステム環境変数を設定し、実行時エラーメッセージを抑制します。 システム環境変数 HOLONNOMSG 値 1 (注)値の設定後、一旦、マシンの再起動が必要です。 上記設定後、アプリケーション実行エラーは、ABLトレースファイルに出力されるようになります。 環境変数ABLTRACEDIRで指定されたディレクトリ、指定がなければアプリケーションの実行時カレントに、"ABL"+プロセスIDの16進表記(8桁)+".log" というファイル名で作成されます。 ※ABLトレースファイルの詳細な説明は、HolonEnterprise基本機能ガイドの「デバッグ支援機能」をご参照ください。 ABLトレースファイルにエラーの情報を書き込んだ後、アボート処理が発行されます。 HolonEnterpriseから発行されたアボート例外は、WebOTXサーバによって補足され、インタフェースのアボート時コールバック(OnTPSAbort)が呼び出され、アボート時の後処理を行うことができます。アプリケーションアボート後のWebOTXサーバの状態は、特に設定変更を行っていなければ、アボートを起こした関数のみが使用不能という状態になり、他の処理は使用することができます。 |
|
環境 | Version | HolonEnterprise V6.0(OV#03)以降 |
OS | Windows NT4.0, Windows 2000 | |
補足 |
インスタンス化していない(GETUPしていない)例外クラスをTHROWすることは、アプリケーションの論理的なエラーです。正しく動作させるには、プログラムの修正をすることが必要です。 |
|
更新日 | 2000.09.25 |