カテゴリー
未分類

ちょっとメモ

icon_flash8.jpg{…}catch(){…}
のなかでundefinedの値の判定ができない。
try..catch..のというよりは、他に問題があるような気もしているけど、なんにしてもcatch以前にtryの中で判定してもそれすらスルー。

try {
if (a == undefined) {
throw new Error(“error”);
}
} catch (arg) {
trace(arg);
}

普通にいたら問題ないのに、の中に埋め込んでいるのがやばいのか?それとも他の問題なのかな?この辺になった反面トラブルになったとき探すのがたいぎいわー。


簡単なでテスト。

class Test_try_catch{
function Test_try_catch(){
}
function check(arg_obj){
try {
trace(arg_obj.id);
if (arg_obj.id == undefined) {
throw new Error(“error”);
}
} catch (err) {
trace(err);
}
}
}
—-
[ムライン]
obj = {};
obj.id = b;
aaa = new Test_try_catch();
aaa.check(obj);

うーん、正常に動作・・。
なんか他に原因があるのか・・?ちなみにタイムライン上では正常に判定できる。
Classの中に持っていくと判定できず・・。private変数にしてたっけな?
調べる。

「ちょっとメモ」への1件の返信

あぁぁぁぁぁ!!
わかったよママン。
変数を一度全角->半角変換を行って放り込んでいたから、undefinedがStringになってたよ・・涙。
変換ロジックでundefined,nullとかをはじくようにしなくてはー。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です