php 异常对象提供重要异常信息。其属性包括:错误消息(getmessage())、错误代码(getcode())、异常文件路径(getfile())、异常文件行号(getline())、前一个异常(getprevious())。其方法包括:转换为字符串(__tostring())、获取调用堆栈(gettrace()、gettraceasstring())。
PHP 异常处理:理解异常对象的属性和方法
在 PHP 中,异常对象提供了有关异常事件的重要信息。通过访问异常对象的属性和方法,开发者可以获取有关错误类型、错误消息和异常堆栈跟踪的详细信息。
属性
- getMessage():返回异常消息。
- getCode():返回异常代码(如果有)。
- getFile():返回发生异常的文件路径。
- getLine():返回发生异常的文件行号。
- getPrevious():返回导致当前异常的前一个异常(如果有)。
方法
- __toString():返回异常对象的字符串表示形式,包括消息、文件和行号。
- getTrace():返回包含调用堆栈详细信息的数组。
- getTraceAsString():返回调用堆栈的字符串表示形式。
实战案例
以下代码示例演示了如何使用异常对象的属性和方法:
<?php try { throw new Exception('自定义异常'); } catch (Exception $e) { echo '异常消息:' . $e->getMessage() . PHP_EOL; echo '异常代码:' . $e->getCode() . PHP_EOL; echo '异常文件:' . $e->getFile() . PHP_EOL; echo '异常行号:' . $e->getLine() . PHP_EOL; $trace = $e->getTrace(); echo '调用堆栈:' . PHP_EOL; foreach ($trace as $item) { echo ' 方法:' . $item['function'] . PHP_EOL; echo ' 文件:' . $item['file'] . PHP_EOL; echo ' 行号:' . $item['line'] . PHP_EOL; } } ?>
输出:
异常消息:自定义异常 异常代码:0 异常文件:test.php 异常行号:10 调用堆栈: 方法:main 文件:test.php 行号:15