main 関数のインクルード
このタスクについて
main 関数は、CICS® ファウンデーション・クラスを正しく初期設定し、デフォルトの例外処理を指定し、それが終了すると割り振り済みのメモリーを解放します。 作成するアプリケーションにはこのコードをインクルードすることをお勧めします。この main 関数は独自のバリエーションに置き換えることもできますが、その必要はほとんどないはずです。
ソース・ファイル: iccmain.cpp
このスタブには、3 つの機能があります。
手順
タスクの結果
main コードの関数部分を、図 1 に示します。
図 1. コード例: main 関数
void main(void) (1)
{
Icc::initializeEnvironment(ICC_CLASS_MEMORY_MGMT, (2)
ICC_FAMILY_SUBSET,
ICC_EDF_BOOL);
try (3)
{
ICC_USER_CONTROL control; (4)
control.run(); (5)
}
catch(IccException& exc) (6)
{
Icc::catchException(exc); (7)
}
catch(...) (8)
{
Icc::unknownException(); (9)
}
Icc::returnToCICS(); (10)
}
(1) これは、C++ の main エントリー・ポイントです。CICS for OS/2 では、このエントリー・ポイントは、main ではなく faamain です。
(2) この呼び出しにより、環境が初期設定されます。これは必須です。 プラットフォームのデフォルトには、既に 3 つのパラメーターが定義されています。
(3) アプリケーション・コードが例外をキャッチしない場合は、try catch を使用して、ユーザーのアプリケーション・コードを実行します。
(4) 制御オブジェクトを作成します。
(5) (IccControl の純粋仮想として定義された) 制御オブジェクトの run メソッドを起動します。
(6) アプリケーションがキャッチしていない IccException オブジェクトがあればそれをキャッチします。
(7) この関数を呼び出して、タスクを異常終了させます。
(8) アプリケーションがキャッチしていないその他の例外があれば、それをキャッチします。
(9) この関数を呼び出して、タスクを異常終了させます。
(10) 制御を CICS に戻します。