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

更新于: 2020-09-18

805 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告