background image

PHP 中 Exception 异常处理类的使用详解

本文章介绍了在

php 中常用的简单的异常处理类,我们主要是讲述到了 Exception

 

处理 ,

有需要了解的同学可参考一下。
代码如下
<?php
    try {
        $a=10/0;
    }catch (Exception $e){
        echo "抛出异常";
    }
?>
以上代码,并不会输出

“抛出异常”,而是输出了错误信息:Warning: Division by zero in......

说明:

try 块中并没有抛出异常,而是按照系统默认的错误处理机制进行处理

所以能不能捕获到异常,取决于有没有真正的抛出异常
 代码如下
<?php
class Exception
{
    protected $message = 'Unknown exception';   // 异常信息
    protected $code = 0;                        // 用户自定义异常代码
    protected $file;                            // 发生异常的文件名
    protected $line;                            // 发生异常的代码行号
    function __construct($message = null, $code = 0);
    final function getMessage();                // 返回异常信息
    final function getCode();                   // 返回异常代码
    final function getFile();                   // 返回发生异常的文件名
    final function getLine();                   // 返回发生异常的代码行号
    final function getTrace();                  // backtrace() 数组
    final function getTraceAsString();          // 

 

已格成化成字符串的

getTrace() 信息

    /* 

 

可重载的方法

*/

    function __toString();                       // 可输出的字符串
}
?>
简单的使用如下:

(通过异常,抛出错误信息)

代码如下
try {
    $error = 'my error!';
    throw new Exception($error)
} catch (Exception $e) {
    echo $e->getMessage();
}
我们可以扩展此类,方便我们的使用
代码如下