PHP 扩展异常
phpserver side programmingprogramming更新于 2025/7/19 4:37:17
简介
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

