手册
目录
收藏573
分享
阅读2675
更新时间2025-08-06
异常是一个描述 PHP 脚本错误或意外行为的对象。
许多 PHP 函数和类都会抛出异常。
用户定义的函数和类也可以抛出异常。
当函数遇到它无法使用的数据时,异常是一个很好的停止函数的方法。
throw 语句允许用户定义的函数或方法抛出异常。当异常被抛出时,其后面的代码将不会被执行。
如果异常没有被捕获,将会出现带有 "Uncaught Exception" 消息的致命错误。
让我们尝试抛出一个没有捕获的异常:
运行实例 »
点击 "运行实例" 按钮查看在线实例
结果将类似于以下内容:
Fatal error: Uncaught Exception: Division by zero in C:\webfolder\test.php:4
Stack trace: #0 C:\webfolder\test.php(9):
divide(5, 0) #1 {main} thrown in C:\webfolder\test.php on line 4
为了避免上面的示例中出现的错误,我们可以使用 try...catch 语句来捕获异常并继续处理。
try {
可能抛出异常的代码
} catch(Exception $e) {
当捕获到异常时运行的代码
}
当抛出异常时显示一条消息:
运行实例 »
点击 "运行实例" 按钮查看在线实例
catch 块指示应该捕获哪种类型的异常以及用于访问异常的变量名称。在上面的例子中,异常的类型是 Exception,变量名称是 $e。
try...catch...finally 语句可以用于捕获异常。finally 块中的代码无论是否捕获到异常都会运行。如果 finally 存在,catch 块是可选的。
try {
可能抛出异常的代码
} catch(Exception $e) {
当捕获到异常时运行的代码
} finally {
无论是否捕获到异常都会运行的代码
}
当抛出异常时显示一条消息,然后指示过程已完成:
运行实例 »
点击 "运行实例" 按钮查看在线实例
即使未捕获到异常也输出一个字符串:
运行实例 »
点击 "运行实例" 按钮查看在线实例
异常对象包含有关函数遇到的错误或意外行为的信息。
new Exception(message, code, previous)
| 参数 | 描述 |
|---|---|
| message | 可选。描述为何抛出异常的字符串。 |
| code | 可选。整数,可用于轻松区分同一类型的不同异常。 |
| previous | 可选。如果此异常是在另一个异常的 catch 块中抛出的,建议将此异常传递给此参数。 |
当捕获异常时,下表显示了一些可用于获取有关异常信息的方法:
| 方法 | 描述 |
|---|---|
| getMessage() | 返回描述为何抛出异常的字符串。 |
| getPrevious() | 如果此异常是由另一个异常触发的,此方法返回前一个异常。如果不是,则返回 null。 |
| getCode() | 返回异常代码。 |
| getFile() | 返回抛出异常的文件的完整路径。 |
| getLine() | 返回抛出异常的代码行的行号。 |
输出有关抛出的异常的信息:
getCode(); $message = $ex->getMessage(); $file = $ex->getFile(); $line = $ex->getLine(); echo "在文件 $file 的第 $line 行抛出了异常:[代码 $code] \n$message"; } ?>运行实例 »
点击 "运行实例" 按钮查看在线实例
如需获取完整的参考,请访问我们完整的 PHP 异常参考手册。
该参考手册包含所有异常方法的描述和实例。
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77万人学习
共29课时
61.7万人学习
共25课时
39.3万人学习
共43课时
70.9万人学习
共25课时
61.6万人学习
共22课时
23万人学习
共28课时
33.9万人学习
共89课时
125万人学习