php中try catch捕獲異常例詳細
PHP 5は他の言語と似た異常処理モジュールを追加しました。PHPコードに発生する異常は throw文を投げてcatch文に捕獲されます(注:まず投げてこそ獲得できます。
異常処理が必要なコードはすべてtryコードブロックに入れて、可能な異常を捕捉しなければなりません。
各tryには少なくとも対応するcatchが必要です。
複数のcatchを使用することで、異なるクラスで発生する異常を捕捉することができます。
tryコードブロックがもう投げられなくなりました。または、catchが投げられた異常にマッチすることができない場合、PHPコードは最後のcatchの後ろにジャンプして実行します。
もちろん、PHPはcatchコードブロック内で再度異常を出すことができます。
異常が出たら、その後のコードは実行されなくなりますが、PHPは最初にマッチするcatchを探してみます。
異常が一つも捕獲されていなければ、set_を使うこともできません。exception_handler()が対応する処理をすると、PHPは重大なエラーを発生し、Unicaght Exception…(捕獲異常なし)のヒント情報を出力します。
まずPHP内蔵の異常類の基本的な属性と方法を見てみます。具体的な実現を含まない)
ファイルエラーを含めて例外を投げます。
異常処理が必要なコードはすべてtryコードブロックに入れて、可能な異常を捕捉しなければなりません。
各tryには少なくとも対応するcatchが必要です。
複数のcatchを使用することで、異なるクラスで発生する異常を捕捉することができます。
tryコードブロックがもう投げられなくなりました。または、catchが投げられた異常にマッチすることができない場合、PHPコードは最後のcatchの後ろにジャンプして実行します。
もちろん、PHPはcatchコードブロック内で再度異常を出すことができます。
異常が出たら、その後のコードは実行されなくなりますが、PHPは最初にマッチするcatchを探してみます。
異常が一つも捕獲されていなければ、set_を使うこともできません。exception_handler()が対応する処理をすると、PHPは重大なエラーを発生し、Unicaght Exception…(捕獲異常なし)のヒント情報を出力します。
まずPHP内蔵の異常類の基本的な属性と方法を見てみます。具体的な実現を含まない)
<?php
/**
* Exception.php
*
* PHP5
* , 。
*/
class Exception{
protected $message = 'Unknown exception'; //
protected $code = 0; //
protected $file; //
protected $line; //
function __construct($message = null, $code = 0);
final function getMessage(); //
final function getCode(); // ( )
final function getFile(); //
final function getLine(); //
final function getTrace(); // backtrace()
final function getTraceAsString(); // getTrace()
//
function __toString(); //
}
?>
例は以下の通りですファイルエラーを含めて例外を投げます。
<?php
//
try {
require ('test_try_catch.php');
} catch (Exception $e) {
echo $e->getMessage();
}
//
try {
if (file_exists('test_try_catch.php')) {
require ('test_try_catch.php');
} else {
throw new Exception('file is not exists');
}
} catch (Exception $e) {
echo $e->getMessage();
}
このページではphpのtry catchの異常事例について詳しく解説した文章を紹介します。さらに関連phpのtry catchで異常な内容を捕獲しました。以前の文章を検索してください。または下記の関連記事を引き続きご覧ください。これからもよろしくお願いします。