titaniumの例外処理
自分はよく
try { ほにゃらら } catch(e) { 例外処理 } finally { 後始末 }
という書き方をするんだけど、Titanium 1.7.3以降で上記のコードをDistributeコンパイルしようとすると
java.lang.IllegalArgumentException: bad opcode
とかいうエラーが(おそらくJavaコンパイラ?)出て止まってしまう。
エミュレータや実機転送でのテストでは問題なく動いているコードなんだけど・・・。
いろいろ調べていたら、この finally が曲者らしい。
try/catch だけで例外処理を行い、finally を取っ払って
try { ほにゃらら } catch(e) { 例外処理 } 後始末
というコードにしたらすんなりコンパイルが通った。
なんで突然1.7.3からfinallyが使えなくなったのかは不明だけど、まあ処理上は上記の書き換えでも支障はない。よって結果オーライという事にすることにした。
しかしTitaniumって、なんかこういう説明のつかない問題多いよな・・・。