PHP で例外クラスをカスタマイズし、例外をキャッチし、例外をスローする方法
または参考用の例を示します。
try { throw new Exception($error); } catch (Exception $e) { echo $e->getMessage(); }
try{
throw new Exception($error)
} catch(Exception $e){
echo $e->getCode()
}
set_exception_handler('myException');test(-1);function test($a){ if($a < 0){ throw new Exception('error'); } return $a;}function myException($e){ $msg='code : '.$e->getCode().'<br>message : '.$e->getMessage(); echo $msg;}
http://www.php.net/manual /zh/ language.Exceptions.php
function inverse($x) { if (!$x) { throw new Exception('Division by zero.'); } return 1/$x;}try { echo inverse(5) . "\n"; echo inverse(0) . "\n";} catch (Exception $e) { echo 'Caught exception: ', $e->getMessage(), "\n";}// Continue executionecho "Hello World\n";以上例程会输出:0.2Caught exception: Division by zero.Hello World
例外クラスをカスタマイズする
<?phpclass MyException extends Exception { }class Test { public function testing() { try { try { throw new MyException('foo!'); } catch (MyException $e) { // rethrow it throw $e; } } catch (Exception $e) { var_dump($e->getMessage()); } }}$foo = new Test;$foo->testing();?>
try {
throw new Exception ($error);
} catch (Exception $e) {
echo $e->getMessage();
フロアすべて上記が正解です