Flash CS3 ドキュメンテーション |
|||
| ActionScript 3.0 のプログラミング > エラー処理 > エラーの種類 | |||
アプリケーションの開発中および実行中に発生するエラーは、さまざまな種類があり、使用する用語が異なります。主要なエラーの種類と用語について簡単に説明します。
catch ステートメントに移ります。 次の抜粋コードの例では、プログラムがファイルをアップロードしようとする前に browse() メソッドを呼び出していないためランタイムエラーがスローされます。
var fileRef:FileReference = new FileReference();
try
{
fileRef.upload("http://www.yourdomain.com/fileupload.cfm");
}
catch (error:IllegalOperationError)
{
trace(error);
// エラー #2037 : 関数の呼び出しシーケンスが正しくないか、以前の
// 呼び出しが失敗しています
}
この場合、ファイルをアップロードしようとする前に browse() メソッドが呼び出されていないことが Flash Player によって検出されたため、ランタイムエラーが同期的にスローされます。
同期エラー処理の詳細については、アプリケーションの同期エラーの処理を参照してください。
前に示した、ファイルアップロードの同期エラーの例で考えてみます。browse() メソッドを正常に呼び出してからファイルのアップロードを開始したとすると、Flash Player からいくつかのイベントが送出されます。たとえば、アップロードが開始したときには open イベントが送出され、ファイルのアップロードが正常に完了したときには complete イベントが送出されます。イベント処理は非同期のため (つまり、事前に設定済みのわかっている時刻に発生するのではないため)、次のように addEventListener() メソッドを使用して、これら特定のイベントを監視する必要があります。
var fileRef:FileReference = new FileReference();
fileRef.addEventListener(Event.SELECT, selectHandler);
fileRef.addEventListener(Event.OPEN, openHandler);
fileRef.addEventListener(Event.COMPLETE, completeHandler);
fileRef.browse();
function selectHandler(event:Event):void
{
trace("...select...");
var request:URLRequest = new URLRequest("http://www.yourdomain.com/fileupload.cfm");
request.method = URLRequestMethod.POST;
event.target.upload(request.url);
}
function openHandler(event:Event):void
{
trace("...open...");
}
function completeHandler(event:Event):void
{
trace("...complete...");
}
非同期エラー処理の詳細については、エラーイベントへの応答とステータスを参照してください。
catch ステートメントのような、応答のための対応ロジックなしで発生するエラーです。アプリケーションでエラーが発生したときに、エラー処理のための該当する catch ステートメントまたはイベントハンドラがそのレベルまたは上位レベルで見つからない場合、そのエラーは不明な例外と見なされます。 実行時に Flash Player は、エラーによって現在の SWF ファイルが停止しない場合、不明なエラーを意図的に無視して再生を継続しようとします。ユーザー自身が必ずしもエラーを解決できるわけではないからです。不明なエラーを無視するプロセスは "説明のない異常終了" と呼ばれ、これはアプリケーションのデバッグを複雑にする可能性があります。不明なエラーに応答するために、デバッグ版の Flash Player では、実行中のスクリプトを終了し、その不明なエラーを trace ステートメントの出力に表示するかエラーメッセージをログファイルに書き込みます。また、例外オブジェクトが Error クラスまたはそのサブクラスのインスタンスである場合は、getStackTrace() メソッドが呼び出され、スタックトレース情報が trace ステートメントまたはログファイルに出力されます。デバッグ版の Flash Player の使用の詳細については、デバッガ版の Flash Player の操作を参照してください。
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000097.html