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