お昼に出たら、かわゆいバックを見つけて衝動買いしてしまったなっくるです。

エラーハンドリング、皆さんしてますか?AS2では結構エラーが無視されたり、あまり必要なものを作ったことがなかったりで、今まで気にしていませんでした。今回の案件で初めてちゃんとやったのでメモです。

Errorをcatchするのは、try..catch ですが、それに finally がある事を知りませんでした...
で簡単に書くとこんな感じ↓

try {
 throw new Error("diez Error",10);
} catch (error:Error) {
 trace(error.errorID + ": " + error.message);
} finally {
 trace("finally")
}

try の中でエラーがあった場合、catchステートメントが実行されます。で、finally はエラーが発生しようがしまいが実行されます。

たとえばXLMはちゃんと読み込めたんだけど空だった場合とか、
テキスト入力が空だった場合とか Error を throw してあげて、例外処理が書けますねー

またcatchステートメントは続けて2つ書くこともできるんですね。たとえばカスタムエラークラス XMLError を作って、こんな感じに↓

try { throw new XMLError("diez Error",10); } catch (error:XMLError) { trace("XMLError " + error.errorID + ": " + error.message); } catch (error:Error) { trace("Error " + error.errorID + ": " + error.message); }

XMLError の場合は XMLErrorのcatchステートメントをそれ以外は Errorの方を実行します。ただこれを逆に書いてしまうと、Errorの中にXMLErrorも含まれるので、Errorのcatchステートメントが実行されます。

へーーー

HTML5飯