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内蔵の異常類の基本的な属性と方法を見てみます。具体的な実現を含まない)

<?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で異常な内容を捕獲しました。以前の文章を検索してください。または下記の関連記事を引き続きご覧ください。これからもよろしくお願いします。