エラー

エラーメッセージ

エラー対策の目的

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


エラーの種類

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


よくあるエラー例

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


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

 閲覧数:568 投稿日: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/4/21 0:48 更新
週間人気ページランキング / 4-13 → 4-19
順位 ページタイトル抜粋 アクセス数
1 ブラウザを閉じたらセッションデータはどうなるの? | セッション 15
2 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 6
3 curl で Cookie を使用する 5
3 PHPで定数を定義する方法は2種類ある / 配列定数の定義 5
3 コード例 … 「例外処理」はネストすることができる 5
4 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in ○○.php on line △△ | Warning(エラーメッセージ) 4
5 PHP用語 3
5 インターフェイス | クラスとオブジェクト 3
5 型の種類 | 型 3
5 php-devel とは? 3
6 セッション管理が必要な理由は、HTTPプロトコルには状態を保持する機能がないため | セッション 2
6 Fatal error: Uncaught Error: Call to a member function modify() on string | Fatal error(エラーメッセージ) 2
6 エラー出力レベル設定 | エラー設定(エラーメッセージ) 2
6 Fatal error: Access level to ▲::$△ must be protected (as in class ●) or weaker | Fatal error(エラーメッセージ) 2
6 プログラムの基本三構造 | 制御構造 2
6 Cookie / Cookieとは? / Cookie仕様 2
6 ブラウザを閉じたらセッションデータはどうなるの? | セッション 2
6 実際に遭遇した例 2
6 array_filter | 配列 2
6 foreach文 | 制御構造 2
2024/4/20 1:01 更新