ティラノスクリプトを触る上で知っておきたいエラー文の読み解き

Miz Gracia
·

ティラノスクリプトを触っていくにあたって、エラー文と付き合っていくことは必須なので、エラー文の話をします。初歩級の話なので、人によってはもう知っている話しかしていないと思います。

エラー文の読み解き方

エラー文は赤くて怖いですが、エラー文を読み解くことは非常に大事です。エラー文に慣れていない人はエラー全部を読まなくてはならないと思いがちですが、意外とそうでもなくて、キーワードを拾っていくような大雑把な読み方でも十分です。

試しに、このエラーを読み解いていきましょう。

※ 一部、私の本名が含まれている箇所を隠しています。このように、PCの名前を本名にしている人は、エラー文に本名が含まれてしまうことがあるのでスクショなどを撮るときは注意してください。

エラーが複数発生したら、とりあえず上から読む

エラーの発生原因が一つでも、エラーが複数登場することがあります。基本的に、エラーは発生した順に表示されるので、複数のエラーが発生しても、焦らず、上から順に呼んでください。それに、全部読まなくても大丈夫です。一番上のエラーを解決できそうなら、それ以降のエラーは一旦読まなくて大丈夫です。

今回も、一番上のエラーにだけ着目します。

エラー文は、最初の方こそ重要です

エラーは色々書いていますが、慣れていないうちは、最初の行だけ読んで考えれば大丈夫です。添付画像の場合は、「Uncaught SyntaxError: Unexpected identifier」だけ頭に入れてください。他は無視でOK。

遠慮なくGoogle先生に聞こう

前述した通り、エラー文の最初の方だけコピペしてGoogle検索すれば、何かしらのヒントを得られるはずです。エラー文は丸暗記する必要もないし、自力で読み解ける必要もないです。Google先生に聞きましょう。エンジニアも息を吸うように調べています。英語の翻訳をしてみるのもアリです。

試しに、先ほどの添付画像を参照して、「Uncaught SyntaxError: Unexpected identifier」と検索して、このエラーが何なのか突き止めてみてください。

どういう系のエラーかわかりましたか? もしわかれば、これであなたもエラーが読める人です。ヤッター🙌

今回は簡単な例ですが、他のエラーでもやることのベースは一緒です。

よくあるエラーを知る

エラーにはたくさん種類がありますが、滅多にみないものや頻出のものがあります。これらの対処法をなんとなく知っているだけでも、プログラミングをしていく上で便利になると思うので、少しだけ紹介します。

1. Syntax Error

先ほど、例に挙げたエラーです。

Syntaxは「構文」という意味。つまり、構文エラーです。

fanctian () {...

上記のように、「functionと書いたつもりが、fanctianと書いちゃった」みたいなミスをしたときにこのエラーが発生します。括弧の位置がおかしいとか、文末のセミコロンがないとか、基本的にはそういう『うっかりミス』系で発生することが多いエラーです。

タイピングミスをしていないか確認しましょう。

2. No such file or directory

『そのようなファイルだかディレクトリだかはありません』というエラーです。(ディレクトリ = フォルダ)「net::ERR_FILE_NOT_FOUND」とかも同じエラーです。

「hello.png」のつもりが、「hallo.png」と書いてしまった! のような、ファイル名のミスでよく起きるエラーです。

このエラーが起きるとき、大抵、エラー文の前後に読み込もうとしたファイル名が書かれているので、このファイル名も同時に確認しておきましょう。

"hallo.png" net::ERR_FILE_NOT_FOUND

上記のような感じなら、「hallo.png のファイルを読み込もうとしたけど、そんなファイルないんだけど!」という意味です。

hallo.pngのファイル名が正しいかとか、hallo.pngをプロジェクトに読み込んだかどうかとか、確認しましょう。

3. [end_script]が見つかりません

ティラノ特有のエラーです。[iscript]でjsを書き始めたのに、[endscript]が見つからないときにおきます。[iscript]周りで変なことをしていないか確認しましょう。

ただし、たまに「[endscript]って書いてあるのにエラーが出る!」って時があります。プログラミングが出すエラーってものもなかなか完全ではないので、常に正しいエラーを出してくれるとは限りません。

このケースで良くあるのは、[iscript]〜[endscript]までの間で別のエラーが発生しているというものです。タイピングミスをしてるとか。

プログラミング君的には「[iscript]って書いてあるから、ここからはスクリプトが書かれるぞ!」→「あれ? ここエラーがある。じゃあ読み込みやーめよ」→「……あれ?そういえば[endscript]見かけてなくね? つまりこれってエラーじゃね??」みたいな感じの思考回路のようです。

なので、 [endscript]が見つかりませんと言われたら、[endscript]があるかどうかはもちろんのこと、[iscript]〜[endscript]までの間のコードの正常性も確認しましょう。

ちなみに、この「end」がないよ系のエラーは他のプログラミング言語でも見かけます。「end系がないって言われたら、endがあるかどうかと、道中のプログラミングもミスってないか確認する」と覚えておいてください。

時間切れなので今日はここまで。

また後日、他の定番エラーを思いつく限り紹介していきます。

@miz_gracia
文章の壁打ち場。 質問などはこちらに: marshmallow-qa.com/miz_vhb