php throw new exception
Try - 使用异常的函数应该位于 “try” 代码块内。如果没有触发异常,则代码将照常继续执行。但是如果异常被触发,会抛出一个异常。
Throw - 这里规定如何触发异常。每一个 “throw” 必须对应至少一个 “catch”
Catch - “catch” 代码块会捕获异常,并创建一个包含异常信息的对象
class customException extends Exception { public function errorMessage() { $errorMsg = $this->getMessage() . ' is not a valid E-Mail address.'; return $errorMsg; } }
$email = "someone@example.com"; try { try { //check for “example” in mail address if (strpos($email, "example") !== FALSE) { //throw exception if email is not valid throw new throw new Exception($email); } } catch (Exception $e) { //re-throw exception throw new throw new customException($email); } } catch (customException $e) { //display custom message echo $e->errorMessage(); }
如果异常没有被捕获,而且又没用使用 set_exception_handler() 作相应的处理的话,那么将发生一个严重的错误(致命错误),并且输出 “Uncaught Exception” (未捕获异常)的错误消息。
function myException($exception) { echo "Exception:" . $exception->getMessage(); } set_exception_handler('myException'); throw new Exception('Uncaught Exception occurred');