Table of Content
            
                
  
            
        
        
        
        这一篇主要介绍 PHP 5 开始支持的异常处理。
Exception 类
在 PHP 中有许多异常处理类,而这里要介绍的是它们的基类 Exception,它包含了一些基本的属性与方法。
其中,常用的属性有:
- 
message: 异常信息
- 
code: 异常代码
- 
file: 异常所在文件名
- 
line: 异常所在行数
常用的方法有:
- 
getTrace: 获取异常追踪
- 
getTraceAsString: 获取异常追踪(字符串)
- 
getMessage: 获取异常信息
try catch
要捕获异常,还需要了解 try catch 的用法:
<?php
try{
    // 可能出现异常的代码,以及手动异常抛出
} catch (Exception $e){
    // 异常处理
}
?>
抛出异常
那么,要怎样抛出异常呢? 只需要使用 throw 关键字即可。
举个栗子:
<?php
try {
    // 抛出
    throw new Exception('wrong');
} catch(Exception $e) {
    // 捕获
    $msg = 'Error:'.$e->getMessage()."\n";
    $msg.= $e->getTraceAsString()."\n";
    $msg.= 'Line:'.$e->getLine()."\n";
    $msg.= 'File:'.$e->getFile()."\n";
    file_put_contents('error.log', $msg);
}
?>
自定义异常处理类
在某些情况下,你也可以继承 Exception 类来自定义异常处理类。
<?php
class MyException extends Exception {
    function getInfo() {
        return 'the info';
    }
}
try {
    if (/*发生异常*/) {
        throw new MyException('error');
    }
} catch (Exception $e) {
    echo $e->getInfo();
    echo $e->getMessage();
}
?>
 李二狗 — @Meniny
                李二狗 — @Meniny
             
            
             
                 
                