PHP扩展异常
介绍
Exception类实现Throwable接口,并且是所有Exception类,预定义的异常以及用户定义的异常的基类。Exception类定义了一些最终的(不可覆盖的)方法来实现Throwable接口中的方法,并 定义了__tostring() 方法,这些方法可以被覆盖以返回Exception对象的字符串表示形式。
getMessage()getCode()getFile()getLine()getTrace()backtrace()getPrevious()getTraceAsString()如果用户定义的异常类重新定义了构造函数,则应调用 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