エラー

エラーメッセージ

エラー対策の目的

 状態:-  閲覧数:3,266  投稿日: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行も実行されることなく終了


エラーの種類

 閲覧数:585 投稿日: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) -


よくあるエラー例

 閲覧数:628 投稿日: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 ')' 括弧の対応があっていない × ×


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

 閲覧数:629 投稿日: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:



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

Desktop applications only support the oauth_callback value 'oob'

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



類似度ページランキング
順位 ページタイトル抜粋
1 エラー 100
2 エラー 100
3 エラーレベル 67
4 エラーメッセージ 55
5 エスケープ 50
6 エラー出力レベル設定 46
7 オーバーライド 40
8 ラッパークラス 40
9 クラス 33
10 ソート 33
11 エスケープシーケンス 31
12 スコープ 29
13 メンバー 29
14 リソース型 25
15 クラス定数 25
16 クロージャ 25
17 ローカル変数 22
18 クラスの継承 22
19 例外ハンドラ 22
20 グローバル変数 20
2024/9/17 8:46 更新
週間人気ページランキング / 9-10 → 9-16
順位 ページタイトル抜粋 アクセス数
1 ブラウザを閉じたらセッションデータはどうなるの? | セッション 9
1 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 9
2 curl で Cookie を使用する 7
3 セッション管理が必要な理由は、HTTPプロトコルには状態を保持する機能がないため | セッション 4
3 blurImageメソッド(Imagickクラス) カテゴリー 4
4 Catchable fatal error: Object of class DateTime could not be converted to string | Fatal error(エラーメッセージ) 3
4 Fatal error: Uncaught Error: Call to a member function modify() on string | Fatal error(エラーメッセージ) 3
4 Fatal error: Uncaught Error: Class 'Mecab_Tagger' not found in /var/www/★★.php:☆☆ | Fatal error(エラーメッセージ) 3
5 Warning: strlen() expects parameter 1 to be string, array given in ○○.php on line △△ | Warning(エラーメッセージ) 2
5 SQLite(エラーメッセージ) カテゴリー 2
5 Fatal error: Access level to ▲::$△ must be protected (as in class ●) or weaker | Fatal error(エラーメッセージ) 2
5 コード例 … 「例外処理」はネストすることができる 2
5 Read-only application cannot POST. | Twitter API(エラーメッセージ) 2
5 T_CONSTANT_ENCAPSED_STRING | エラーメッセージ 2
6 json_encode関数(JSON) カテゴリー 1
6 json_encode関数 | JSON 1
6 Parse error: syntax error, unexpected $end in ○○.php on line △△ | Parse error(エラーメッセージ) 1
6 or(||) | 演算子 1
6 Fatal error(エラーメッセージ) カテゴリー 1
6 ラッパークラス | クラスとオブジェクト 1
2024/9/17 1:01 更新