- die()メソッドの使用
- カスタムエラー処理
die($ message)例:< / b><コード><コード><? php
//デフォルトのエラー処理を示すPHPコード
$ file
=
fopen
(
"engineer.txt"
、
"w"
);
?>
注。上記のコードを実行すると、 engineer.txtファイルが見つかりません、その後、ランタイムエラーが表示されます。ランタイムエラー:
PHP警告:fopen(engineer.txt):ストリームを開くことができませんでした:/home/dac923dff0a2558b37ba742613273073.phpでアクセスが拒否されました2行目このエラーを防ぐには、die()関数を使用します。 die()関数は次のように実装されます。例:
<? php
//エラーをチェックするPHPコード
//ファイルがない場合
//次にスクリプトを終了します
if
(!
file_exists
(
"engineer.txt"
)){
die
(
"ファイルが存在しません"
);
}
//ファイルが存在する場合
//続行
else
{
$ file
=
fopen
(
"engineer.txt"
、
"w"
);
}
?>
注。ファイルがエンジニアの場合.txt がない場合、出力が表示されます。
終了ファイルが存在しません
カスタムエラーハンドラー:カスタムの作成PHPのエラーハンドラーは非常に簡単です。 PHPでエラーが発生したときに呼び出すことができる関数を作成します。構文: error_function($ error_level、$ error_message、$ error_file、$ error_line、$ error_context)
パラメータ:この関数は、上記および以下で説明する5つのパラメータを取ります。 - $ error_level:これは必須のパラメータであり、整数である必要があります。事前定義されたエラーレベルがあります。
- $ error_message:これは必須のパラメータであり、これはユーザーが印刷したいメッセージです。
- $ error_file:は、エラーが発生したファイルを指定するために使用されるオプションのパラメーターです。
- $ error_line:は、エラーが発生した行番号を指定するために使用されるオプションのパラメーターです。発生した。
- $ error_context:これは、エラーが発生したときに各変数とその値を含む配列を指定するために使用されるオプションのパラメーターです。
error_level:考えられるエラーレベルは次のとおりです。- 1:.E_ERROR:致命的なランタイムエラーが停止しました
- 2:E_WARNING:non-致命的なランタイムエラー、スクリプトの実行が停止しました
- 4:E_PARSE:パーサーによって生成されたコンパイル時エラー
- 8:E_NOT ICE:スクリプトでエラーの可能性がある何かが検出されました
- 16:E_CORE_ERROR:スクリプトの最初の実行中に発生した致命的なエラー
- 32:E_CORE_WARNING:最初のスクリプトの実行中に発生した致命的でないエラー
- 8191: E_ALL:すべてのエラーと警告
set_error_handler()関数: myerror()関数を作成した後、PHPが通常処理するため、カスタムハンドラエラーをインストールする必要があります。ユーザーがカスタムエラー処理を行っている場合、ユーザーは引数の代わりにそれを設定する必要があり、 myerror関数を文字列として渡します。例: <? php
//メッセージを出力するエラー関数を作成します
// user
function
myerror(
$ error_no
、
$ error_msg
){
echo
"エラー:[$ error_no] $ error_msg"
;
echo
"スクリプトは終了します"
;
//エラーが発生した場合、スクリプトは停止する
die
();
}
//設定set_error_handler
set_error_handler(
"myerror"
);
$ a
= 10;
$ b
= 0;
//これはエラーを生成する
echo
(
$ a
/
$ b
);;
?>
出力: エラー:[2] Division b yzeroスクリプトは終了します
出力:ユーザーに応じてより具体的なメッセージが表示されるため、カスタムエラー処理を使用して常にエラーの処理を試みます。これはユーザーにとって便利です。カスタムエラー処理でエラーが処理されない場合、エラーが発生すると、スクリプトはデフォルトで停止しますが、カスタムエラー処理でエラーを処理する場合は、エラーメッセージを表示した後にスクリプトを続行できます。