子スクリプトの例外を検知した場合に戻り値を変更したい

キーワード:例外監視,エラーハンドリング,エラー処理,例外通知,スクリプト呼び出し
シナリオ一覧に戻る

概要

子スクリプトの例外を監視し、例外を検知した場合に戻り値を変更したい場合は、end処理の[戻り値]を設定します。

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

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

処理の流れ

サンプルプロジェクトの処理の流れは以下の通りです。
  1. 例外監視処理」で対象となる処理の例外を監視します。
  2. スクリプト呼び出し処理」で子スクリプトを呼び出します。
  3. 例外を検知した場合は「end処理」で戻り値を「10」として終了します。
実行結果のイメージについて

ポイントとなる機能

名前 説明 ツールパレット上の場所
例外監視処理 対象となる処理の例外を監視し、例外処理を行います。 「基本」-「フロー」-「例外監視」
end処理 スクリプトの終了を表し、戻り値を返します。 「基本」-「フロー」-「end」

処理のポイント

スクリプト呼び出し処理の例外を監視します。
例外を検知した場合に、end処理でユーザ定義正常終了時の終了ステータスを設定します。
終了ステータスの詳細については、「終了ステータス」を参照してください。

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

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

サンプルプロジェクトファイル名 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_021」です。

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

スクリプトの作成手順

プロセスフローは、「サンプルプロジェクトの説明」のスクリプト画像を参照して適宜設定してください。
  1. 子スクリプトとして「rl_reference_020」を呼び出す処理を作成します。
    デザイナのツールパレット「基本」-「処理」-「スクリプト呼び出し」から、スクリプト呼び出し処理をスクリプトキャンバスに配置します。

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

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

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

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