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

相关文章