処理を監視し、エラーが発生した場合に例外を通知したい

キーワード:例外監視,エラーハンドリング,エラー処理,例外通知
シナリオ一覧に戻る

概要

処理を監視し、エラーが発生した場合に例外を通知する場合は、例外監視処理および例外通知処理を使用します。

サンプルプロジェクトの説明

データベースのテーブルに格納されているデータを読み取り、CSVファイルに出力する処理を監視します。
エラーが発生した場合、エラー内容にしたがって例外を通知します。
本スクリプトは、逆引きリファレンスの「子スクリプトの例外を検知した場合に戻り値を変更したい」より呼び出されます。

処理の流れ

サンプルプロジェクトの処理の流れは以下の通りです。
  1. 例外監視処理」で対象となる処理の例外を監視します。
    対象となる処理は「テーブル読み取り処理」および「CSVファイル書き込み処理」です。
  2. テーブル読み取り処理」でエラーが発生した場合は、「例外通知処理」の[メッセージ]に設定した「テーブルの読み込みに失敗しました。」を通知して、処理を異常終了させます。
  3. CSVファイル書き込み処理」でエラーが発生した場合は、「例外通知処理」の[メッセージ]に設定した「CSVファイルへの出力に失敗しました。」を通知して、処理を異常終了させます。
実行結果のイメージについて

ポイントとなる機能

名前 説明 ツールパレット上の場所
例外監視処理 対象となる処理の例外を監視し、例外処理を行います。 「基本」-「フロー」-「例外監視」
例外通知処理 例外を発生させます。 「基本」-「処理」-「例外監視」

処理のポイント

例外監視処理の対象となる処理を監視し、処理ごとに例外通知処理を行います。
例外処理の[チェック対象]で監視したい処理を個別に指定することができます。

サンプルプロジェクトの使用方法

上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。

サンプルプロジェクトファイル名 rl_reference_020-021.zip
  1. サンプルプロジェクトの展開
    サンプルプロジェクトファイル「rl_reference_020-021.zip」を展開します。

  2. プロジェクトのアップロード
    「rl_reference_020-021.zip」を展開後に作成される「rl_reference_020-021プロジェクト」ディレクトリがプロジェクトファイルとなります。
    DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_020-021プロジェクト」をアップロードしてください。
    本シナリオに該当するスクリプトは、「rl_reference_020-021プロジェクト」のスクリプト「rl_reference_020」です。

  3. サンプルデータの準備
    「rl_reference_020-021.zip」を展開後に作成される「samples」ディレクトリがサンプルデータとなります。
    $DATASPIDER_HOME/server/samplesディレクトリに上書きしてください。

  4. サンプルデータベースの準備
    共通サンプルDBの「sample.zip」を展開し、「sample.mdb」を$DATASPIDER_HOME/server/dataディレクトリに配置します。

  5. グローバルリソースの設定
    コントロールパネルの[グローバルリソースの設定]から、[新しいグローバルリソースの追加]を選択し、Accessのグローバルリソースを追加します。
    グローバルリソースの設定方法については、「グローバルリソースのプロパティ」を参照してください。

スクリプトの作成手順

プロセスフローおよびデータフローは、「サンプルプロジェクトの説明」のスクリプト画像を参照して適宜設定してください。
  1. デザイナのツールパレット「データベース」-「Access」-「テーブル読み取り」から、テーブル読み取り処理をスクリプトキャンバスに配置します。

  2. デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル書き込み」から、CSVファイル書き込み処理をスクリプトキャンバスに配置します。

  3. デザイナのツールパレット「基本」-「フロー」-「例外監視」から、例外監視処理をスクリプトキャンバスに配置します。

  4. デザイナのツールパレット「基本」-「処理」-「例外通知」から、例外通知処理(「exception」)をスクリプトキャンバスに配置します。

  5. デザイナのツールパレット「基本」-「処理」-「例外通知」から、例外通知処理(「exception(1)」)をスクリプトキャンバスに配置します。

  6. 例外監視処理の例外処理で、例外を監視したいコンポーネントを選択します。

  7. 例外監視処理の例外監視開始の右クリックメニューから[例外処理の追加]を選択し、例外処理を追加します。

  8. スクリプトを実行し、正常終了すれば成功です。