异常处理
使用 try-catch 语句实现异常处理, 使用 throw 语句抛出异常, 在 PHP 中必须手动抛出异常, 不像 JAVA 可以自动抛出异常。抛出异常时使用 throw 关键字, 如果 throw 语句被执行, 则其后的代码都不执行, 而是转到 catch 中的代码执行, 这样程序就不会崩溃, 可以继续执行
try {
...
} catch(Exception $e) {
...
}
扩展 PHP 异常处理类
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() {}
// backtrace() 数组
final function getTrace() {}
// 格式化为字符串的 getTrace() 函数
final function getTraceAsString() {}
// 可重载的方法, 可输出的字符串
function __toString() {}
}
捕获多个异常
n __toString() {}
}
捕获多个异常
可能发生多个异常, 并且每个异常的处理方式都不一样时, 可以使用多个 catch 语句进行处理, 当 try 代码块不再抛出异常或者找不到可以匹配的 catch 语句时, PHP 会跳转到最后一个 catch 语句执行。多个 catch 语句时, 每个 catch 语句捕获的异常必须不同