エラー

エラーメッセージ

エラー対策の目的

 状態:-  閲覧数:2,687  投稿日:2016-06-21  更新日:2016-08-03  
大きく2つに分かれる
1. デバッグ→エラー箇所及びその原因を突き止める
2. 例外処理を行い、エラー発生時における不具合を防ぐ

※何れにせよ、「E_WARNING」「E_NOTICE」「E_STRICT」以外は、最終的には処理中断を防ぐことは出来ない


エラー分類


エラーは大きく3つに分類することができる

エラー分類一覧
・エラーを3つに分類
エラー発生のタイミング エラーの種類 出力エラーメッセージ 内容 実行継続の可否
スクリプト実行中 警告・注意 Warning Noticeなど 下記以外 実行は継続
スクリプト実行中 致命的 Fatal Error など PHPの内部的なメモリ確保に関するエラー 実行は中断
コンパイル中 解析・構文 Parse error syntax error PHPの文法を間違っている場合 プログラムのコンパイル時にエラーが発生するため、1行も実行されることなく終了


エラーの種類

 閲覧数:413 投稿日:2016-06-21 更新日:2016-07-26 

主なエラー


よくあるエラーの種類
・一覧
- 出力エラーメッセージ 内容 処理継続 捕捉
E_ERROR Fatal error: 実行時の重大なエラー(未定義関数の使用など) × -
E_WARNING Warning: 実行時の警告(関数へ渡す引数が不正など) -
E_PARSE Parse error: 実行以前の問題(文法ミスなど) × -
E_NOTICE Notice: 実行時の通知(未定義変数の参照など) -
E_STRICT Strict Standards: 厳格チェックの通知(PHP5) -


よくあるエラー例

 閲覧数:452 投稿日:2016-07-04 更新日:2016-07-19 

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 ')' 括弧の対応があっていない × ×


以下のエラータイプは、ユーザ定義の関数では扱えません

 閲覧数:458 投稿日:2016-07-28 更新日:2016-08-01 

ユーザ定義関数では取り扱い不可なエラータイプ


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検索結果。「エラー」に関する最新ツイート

あえ @anianianikun
DMエラーなる… 2023/06/04 20:53
ヤバイわよ伍年@モンファン @YBIWY
みぃたろ @Yominummm
ずーみ @mmm_buffaloes

Fatal error: Uncaught exception 'ImagickException' with message 'WriteBlob Failed

Desktop applications only support the oauth_callback value 'oob'

コメント投稿(ログインが必要)



週間人気ページランキング / 5-28 → 6-3
順位 ページタイトル抜粋 アクセス数
1 ブラウザを閉じたらセッションデータはどうなるの? | セッション 34
2 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 14
3 スコープ | 変数 13
4 ブラウザを閉じたらセッションデータはどうなるの? | セッション 12
5 PHP用語 11
6 Fatal error: Access level to ▲::$△ must be protected (as in class ●) or weaker | Fatal error(エラーメッセージ) 9
7 セッションID | セッション 6
7 Fatal error: require_once(): Failed opening required 'PEAR.php' | Fatal error(エラーメッセージ) 6
7 コード例 … 「例外処理」はネストすることができる 6
7 Warning: include() [function.include]: Failed opening '**.php' for inclusion (in | Warning(エラーメッセージ) 6
7 セッション管理が必要な理由は、HTTPプロトコルには状態を保持する機能がないため | セッション 6
7 PHPで定数を定義する方法は2種類ある / 配列定数の定義 6
7 Fatal error: Call to undefined method MDB2_Error::execute() in ○○ on line △△ | Fatal error(エラーメッセージ) 6
8 型の種類 | 型 5
8 Fatal error: Uncaught RuntimeException: SplFileObject::__construct(): failed to open stream: Permission denied in | Fatal error(エラーメッセージ) 5
8 ガベージコレクション | 機能 5
9 curl で Cookie を使用する 4
9 @ | 演算子 4
9 ( ! ) Fatal error: Uncaught PDOException: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column | Fatal error(エラーメッセージ) 4
9 Warning: PDO::query(): LOAD DATA LOCAL INFILE forbidden | Warning(エラーメッセージ) 4
2023/6/4 1:01 更新