throw ステートメント

throw expression

catch{} コードブロックによって処理 (キャッチ) できるエラーを生成 (スロー) します。catch ブロックが例外をキャッチしない場合は、スローされた値のストリング表現が [出力] パネルに表示されます。

一般には、Error クラスまたはそのサブクラスのインスタンスをスローします。「例」を参照してください。

対応バージョン : ActionScript 1.0、Flash Player 7

パラメータ

expression:Object - ActionScript の式またはオブジェクト。

この例の checkEmail() 関数は、受け取ったストリングが正しいフォーマットの電子メールアドレスかどうかを確認します。ストリングに "@" 記号が含まれていない場合は、エラーをスローします。

function checkEmail(email:String) { 
 if (email.indexOf("@") == -1) { 
 throw new Error("Invalid email address"); 
 } 
} 
checkEmail("someuser_theirdomain.com");

次に、以下のコードで try コードブロック内の checkEmail() 関数を呼び出します。email_txt ストリングに有効な電子メールアドレスが含まれない場合は、テキストフィールド error_txt にエラーメッセージが表示されます。

try { 
 checkEmail("Joe Smith"); 
} 
catch (e) { 
 error_txt.text = e.toString(); 
}

次の例では、Error クラスのサブクラスをスローします。checkEmail() 関数を修正して、そのサブクラスのインスタンスをスローします。

// Define Error subclass InvalidEmailError // In InvalidEmailError.as: class InvalidEmailAddress extends Error { var message = "Invalid email address."; }

FLA ファイルまたは AS ファイルで、タイムラインのフレーム 1 に次の ActionScript を入力します。

import InvalidEmailAddress; 
function checkEmail(email:String) { 
 if (email.indexOf("@") == -1) { 
 throw new InvalidEmailAddress(); 
 } 
} 
try { 
 checkEmail("Joe Smith"); 
} 
catch (e) { 
 this.createTextField("error_txt", this.getNextHighestDepth(), 0, 0, 100, 22); 
 error_txt.autoSize = true; 
 error_txt.text = e.toString(); 
}

関連項目

Error


 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00001339.html