【HolonEnterprise】【HOLON/AB】WebOTXサーバアプリケーション内で、インスタンス化していない例外クラスをTHROWした場合に、サーバAPが応答を返さなくなることへの対処方法について
質問内容
【HolonEnterprise】【HOLON/AB】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することは、アプリケーションの論理的なエラーです。正しく動作させるには、プログラムの修正をすることが必要です。
|
製品名カテゴリ
-
コンテンツID:
3150017021
-
公開日:
2000年09月25日
-
最終更新日:2000年09月25日
アンケート
サポート情報充実のためアンケートにご協力をお願いいたします。
コメント欄: