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

Avatar
dstn

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

キーワード:例外監視,エラーハンドリング,エラー処理,例外通知

概要

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

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

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

処理の流れ

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



    なお、例外は以下の方法で発生させることが可能です。
    • ODBCのデータソースに登録した「Sample.mdb」を別のディレクトリに移動します。

  • CSVファイル書き込み処理で例外が発生した場合は、以下のダイアログが表示されて異常終了します。



    なお、例外は以下の方法で発生させることが可能です。
    • CSVファイル書き込み処理の出力先ディレクトリを存在しないディレクトリに変更します。

ポイントとなる機能

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

処理のポイント

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

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

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

サンプルプロジェクトのダウンロード 逆引きリファレンス シナリオ020-021のサンプルプロジェクト
  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」をODBCのデータソースに登録します。

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

スクリプトの作成手順

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

      [必須設定]タブ



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

      [必須設定]タブ



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

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

      [必須設定]タブ



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

      [必須設定]タブ



  6. 例外監視処理の例外処理で、例外を監視したいコンポーネントを選択します。
    • 例外処理の設定は、以下のように行います。

      [必須設定]タブ



  7. 例外監視処理の例外監視開始の右クリックメニューから[例外処理の追加]を選択し、例外処理を追加します。
    • 例外処理の設定は、以下のように行います。

      [必須設定]タブ



      処理のポイント
      • [チェック対象]にはエラー処理を行いたい処理のみにチェックを入れます。
      • チェックを入れない処理は監視されず、例外監視処理を使用しない場合と同様に処理されます。
      • [チェック対象]に一つもチェックを入れていない場合、すべての処理が例外監視処理の対象になります。

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

コメント

ログインしてコメントを残してください。

Powered by Zendesk