Corona SDK シミュレータで異常が発生した際の異常メッセージの確認方法についてです。異常メッセージは英語で表記されますが、それほど難しいものではありません。
1. 値が「nil」
変数の値がnilの場合の異常メッセージです。
プログラムは以下の通りです。
- local text1 = “Test : “
- local text2
- local text3 = text1..text2
1.1 異常メッセージについて
最初の「main.lua」は異常が発生したファイル名です。
続いて数字の3がありますが、これは異常が発生した行数です。
その次は異常の内容です。この場合、「text2」という変数の値が「nil」(値がない)ですよ、ということです。
main.lua内の3行目でtext2がnilなので問題があります、ということになります。なので、text2に値を入れればOKです。今回は非常に簡単ですが、繰り返し処理やテーブルなどと複合して使っている場合は調査が難しくなります。その場合、テーブルの中身をすべて表示する、繰り返す回数を確認する、代入する処理に問題がないかを確認するなどが必要になります。
2. 括弧がない
括弧の数が足りない場合、以下のような異常メッセージになります。
「1. 値が「nil」」の時と同様で、main.lua内の3行目当たりで何かが起きていると言っています。メッセージを見るとどうやら、括弧を開いた数と閉じている数が違いますよと言っているようです。なので、異常が出ている行数からその手前を確認することで解決できるはずです。プログラムは以下のようになっています。
- print(“Hello World!!”
- print(“Hello World!!”)
1行目のprint文の最後の閉じ括弧がありません。この場合、3行目の閉じ括弧で閉じることになりますが、3行目でも括弧を開いているのでおかしいですよ、ということです。
3. 何が異常か分からない時
異常メッセージを見ても何が問題なのか、わからない場合があります。その場合の対処方法の1例を書きます。簡単なやり方は1行ずつコメントアウトし、異常が発生している場所を突き止めることです。続いて、その前後の処理を見直すことと、中に入っている値が何かをprintなどを使用して画面に表示し確認していきます。
複数のファイルや関数にわたって異常が発生した場合、何が問題か本当にわからない時があります。その場合、ほとんどの処理をコメントアウトし探すということもやります。ファイルを新しく作成し、新たなファイル名にしたら通ったということもありました。(どこかに変な何かが入っていたのだと思います)
最終的に異常の発見には知識と経験がものを言います。最初はすぐに修正ができなくても、色々な異常を経験し、直していくことでできるようになります。
<更新履歴>
版 | 更新日 | Corona SDKのバージョン |
新規作成 | 2015年6月4 | v2015.2646 |