php 异常处理中错误消息可通过以下方式传递:构造函数参数设置 message 属性使用 getmessage() 方法(php 7 及以上)
PHP 异常处理中的错误消息传递方式
在 PHP 中,我们可以使用以下方式在异常处理中传递错误消息:
1. 构造函数参数
立即学习“PHP免费学习笔记(深入)”;
最简单的方法是将错误消息作为构造函数的参数传递给 Exception 对象:
try {
// ... 可能会引发异常的代码 ...
} catch (Exception $e) {
echo $e->getMessage();
// 输出错误消息
}
2. 设置 message 属性
也可以在创建异常对象后使用 message 属性手动设置错误消息:
$exception = new Exception();
$exception->setMessage('我的错误消息');
3. 使用 Throwable 接口
从 PHP 7 开始,我们可以使用 Throwable 接口的 getMessage() 方法获取错误消息:
try {
// ... 可能会引发异常的代码 ...
} catch (Throwable $t) {
echo $t->getMessage();
// 输出错误消息
}
实战案例
假设我们有一个函数 get_user(),它可能会抛出 UserNotFoundException 异常:
function get_user($id) {
if (!isset($users[$id])) {
throw new UserNotFoundException('用户不存在');
}
return $users[$id];
}
在使用 get_user() 函数时,我们可以捕获异常并通过任意一种上述方式获取错误消息:
try {
$user = get_user(10);
} catch (UserNotFoundException $e) {
echo $e->getMessage(); // 输出 "用户不存在"
} catch (Throwable $t) {
echo $t->getMessage(); // 也输出 "用户不存在"
}