エラー対策の目的
状態:-
閲覧数:2,687
投稿日:2016-06-21
更新日:2016-08-03
大きく2つに分かれる
1. デバッグ→エラー箇所及びその原因を突き止める
2. 例外処理を行い、エラー発生時における不具合を防ぐ
※何れにせよ、「E_WARNING」「E_NOTICE」「E_STRICT」以外は、最終的には処理中断を防ぐことは出来ない
エラーは大きく3つに分類することができる
エラー分類一覧
・エラーを3つに分類
1. デバッグ→エラー箇所及びその原因を突き止める
2. 例外処理を行い、エラー発生時における不具合を防ぐ
※何れにせよ、「E_WARNING」「E_NOTICE」「E_STRICT」以外は、最終的には処理中断を防ぐことは出来ない
エラー分類
エラーは大きく3つに分類することができる
エラー分類一覧
・エラーを3つに分類
エラー発生のタイミング | エラーの種類 | 出力エラーメッセージ | 内容 | 実行継続の可否 |
---|---|---|---|---|
スクリプト実行中 | 警告・注意 | Warning Noticeなど | 下記以外 | 実行は継続 |
スクリプト実行中 | 致命的 | Fatal Error など | PHPの内部的なメモリ確保に関するエラー | 実行は中断 |
コンパイル中 | 解析・構文 | Parse error syntax error | PHPの文法を間違っている場合 | プログラムのコンパイル時にエラーが発生するため、1行も実行されることなく終了 |
エラーの種類
主なエラー
よくあるエラーの種類
・一覧
- | 出力エラーメッセージ | 内容 | 処理継続 | 捕捉 |
---|---|---|---|---|
E_ERROR | Fatal error: | 実行時の重大なエラー(未定義関数の使用など) | × | - |
E_WARNING | Warning: | 実行時の警告(関数へ渡す引数が不正など) | ○ | - |
E_PARSE | Parse error: | 実行以前の問題(文法ミスなど) | × | - |
E_NOTICE | Notice: | 実行時の通知(未定義変数の参照など) | ○ | - |
E_STRICT | Strict Standards: | 厳格チェックの通知(PHP5) | ○ | - |
よくあるエラー例
Warning
一覧
- | メッセージ | 内容 | 処理継続 | 捕捉 |
---|---|---|---|---|
ファイルエラー | - | ファイルオープンエラー | ○ | set_error_handler() register_shutdown_function() |
0 除算 | Division by zero | 0 除算 | ○ | set_error_handler() register_shutdown_function() |
引数不正 | array_reverse() expects parameter 1 to be array, string given | 関数へ渡す引数が不正。引数として、配列を渡すべきなのに、文字列を渡している | ○ | set_error_handler() register_shutdown_function() |
Fatal error
一覧
- | メッセージ | 内容 | 処理継続 | 捕捉 |
---|---|---|---|---|
未定義関数 | - | 未定義関数呼び出し | × | register_shutdown_function() |
例外 | Uncaught exception | キャッチされない例外 | × | register_shutdown_function() |
Parse error
一覧
- | メッセージ | 内容 | 処理継続 | 捕捉 |
---|---|---|---|---|
セミコロン | syntax error, unexpected T_ECHO, expecting ',' or ';' | セミコロン(;)の付け忘れ | × | × |
括弧 | syntax error, unexpected ';', expecting ')' | 括弧の対応があっていない | × | × |
以下のエラータイプは、ユーザ定義の関数では扱えません
ユーザ定義関数では取り扱い不可なエラータイプ
set_error_handler()は利用できない。register_shutdown_function()を利用
・E_ERROR
・E_PARSE
・E_CORE_ERROR
・E_CORE_WARNING
・E_COMPILE_ERROR
・E_COMPILE_WARNING
・set_error_handler() がコールされたファイルで発生した 大半の E_STRICT
set_error_handler() と register_shutdown_function() の両方を利用する場合
register_shutdown_function() の呼び出し先関数にて、set_error_handler()で捕捉できないエラー定数のみを指定
<記述例>
switch($error['type']){
case E_ERROR://エラー定数(エラー出力レベルビット値)
case E_PARSE:
case E_CORE_ERROR:
case E_CORE_WARNING:
case E_COMPILE_ERROR:
case E_COMPILE_WARNING:
Twitter検索結果。「エラー」に関する最新ツイート
ビリーやるか〜
↓
ギデオン指定かよ( -᷄ω-᷅ )
↓
1人目発見、即チェーンソーダウン
↓
担いだら切断
↓
全員マッチを落とされる。全員0ポイント
マッチがちゃんと始まってるのに、ロード中にエラーとか意味わからんエラー起きるんやね。全員0って😂 https://t.co/9fl5sNIBz9 2023/06/04 20:53

ディアブロⅣ我慢できずに買ってしまったけど面白いっすね…(エラーとバグは多い気がするけど… 2023/06/04 20:53
DMエラーなる… 2023/06/04 20:53
NIKKEの今回の協力戦、エラー回線落ち多くてマジでイラつくな 2023/06/04 20:53
マツモトキヨシ公式サイトchromeではエラー、edgeでは普通に表示される。 2023/06/04 20:53
スプラ異様な回数通信エラーで落とされるし敵も見方も消えていくんだけど土日だし鯖落ちなのかな 2023/06/04 20:52
ルーター設定で▶️もうエラー落ちしなくなりました😸 2023/06/04 20:52
なんかエペランクマ始めたらエラーで落とされて入りなおしたら復帰できなくてペナルティで-100くらいされたんだけど 2023/06/04 20:52
PC重すぎて旅行サイトの予約が出来ねええエラー吐いてメモリ不足って出るんだけどキャッシュもクッキーも消してこれ以上どうすればいいの🤣 2023/06/04 20:52
@nunoheya 通信エラーにじらさらます! 2023/06/04 20:52
そしてアストロの中に入ってたジャッキーはROMエラーで起動すべりまくるようになっちゃったので修理出し確定🤮 2023/06/04 20:51
2つ以上のツイートをいいねされると、通知欄のアカウント表示がエラー表示になる。 2023/06/04 20:51
ME52Sハスラー君、鹿🦌にぶつかって右側フロントバンパーぶっ壊れたらシステムエラー吐いて20-30kmくらいでしか走れなくなった。
入院しましたー🏥
鹿🦌つおい💪 https://t.co/KrCYKSLJv6 2023/06/04 20:51

セーフモードでもエラー落ちするじゃん
終わってる 2023/06/04 20:51
エラー出て改札通れなかった筋肉 https://t.co/Ki7jEcbsEq 2023/06/04 20:51

Fatal error: Uncaught exception 'ImagickException' with message 'WriteBlob Failed
Desktop applications only support the oauth_callback value 'oob'