PHP 扩展异常
简介
Exception 类实现了 Throwable 接口,并且是所有 Exception 类的基类,包括预定义异常和用户定义异常。Exception 类定义了一些 final(不可重写)方法来实现 Throwable 接口中的方法,以及 __toString() 方法,该方法可以被重写以返回 Exception 对象的字符串表示形式。
final public function getMessage() | 异常信息 |
final public function getCode() | 异常代码 |
final public function getFile() | 源文件名 |
final public function getLine() | 源代码行号 |
final public function getTrace() | backtrace() 的数组 |
final public function getPrevious() | 前一个异常 |
final public function getTraceAsString() | 格式化的跟踪字符串 |
public function __toString() | 格式化的显示字符串 |
如果用户定义的异常类重新定义了构造函数,则应该调用 parent::__construct() 以确保所有可用数据都已正确分配。
示例
以下脚本定义了一个名为 myException 的自定义异常类。如果 $num 的值小于 0 或大于 100,则会抛出此类型的异常。Exception 类的 getMessage() 方法返回错误消息,而 getLine() 方法返回出现异常的代码行号。
示例
<?php class myException extends Exception{ function message(){ return "error : " . $this->getMessage() . " in line no " . $this->getLine(); } } $num=125; try{ if ($num>100 || $num<0) throw new myException("$num is invalid number"); else echo "$num is a valid number"; } catch (myException $m){ echo $m->message(); } ?>
输出
使用 $num=125 和 $num=90 运行以上代码,以获取错误消息和有效数字的消息。
error : 125 is invalid number in line no 10
广告