single.php

Chrome 拡張機能で”console.error”を使わない理由 

Google Chromeの拡張機能でエラー時の内容をコンソールに出力するケースは多々あります。その際に、console.error を使うデメリットについて備忘録的に投稿しておきます。

“console.error” でエラー出力

例えば、こんな感じでコンソール画面に出力します。

console.error("hogehoge");
console.log("M3U8Downloader loaded");

実行すると、コンソール画面に出力が一覧で表示されます。.error で出力した方は目立つ赤い背景で表示されています。

ログも見やすくなるし、便利な気がしますが落とし穴があります。

それは[拡張機能]画面に表示される、これです。

エラーの原因を特定するためにエラーの詳細を表示すると、コンソールに出力する部分が対象として表示されています。

つまり、

console.error("hogehoge");

はエラーの出力ではなく、拡張機能内では “エラー(っぽい)” 扱いになります。

“エラー(っぽい)” と表現したのは[拡張機能]画面の一覧に[エラー]と表示された場合、コード内では例外などが発生して実行が停止されています。

しかし、”console.error” で実行したコードはエラーにならないため、処理は続行されています。

さらに、他の部分でエラーになっている場合でも[拡張機能]画面の一覧に[エラー]として表示されるため “console.error” で意図的にエラーにした部分との区別が付きません。

一時的なデバッグ用のコードとして利用する場合が良いですが、エラーの内容をコンソールで知りたい場合には

console.log("hogehoge");

にしておいた方が[拡張機能]画面をエラー発生のインジケーターとして利用できます。

まとめ

今回は、Google Chromeの拡張機能でエラー時の内容をコンソールに出力するケースは多々あります。その際に、console.error を使うデメリットについて書きました。

“console.error” を使うとエラーが発生したと誤判断してしまう可能性があるので、使う場合には注意が必要です。

Google Chromeの拡張機能で “console.error” でエラー表示になる人の参考になれば幸いです。

スポンサーリンク

最後までご覧いただきありがとうございます。

コメントを残す

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