【发布时间】:2020-03-10 16:37:04
【问题描述】:
我目前正在维护一个包含大量代码库的应用程序。该应用程序仍在开发中。
我的目标是记录应用程序中抛出的所有异常。还有那些在 try catch 块中被捕获的。由于代码库很大,我无法在 catch 块中添加单行代码或创建我的自定义异常类。
我尝试解决或寻找解决方案的方式是:
- 在整个应用程序中监听类构造
- 重写 Exception 类(不能这样做,因为它是一个核心 php 类)
我最近尝试的代码是:
我的测试异常 (dashboardcontroller.php)
try {
throw new \Exception('custom thrown exception');
} catch (\Exception $e) {
Log::info('Exception caught');
}
Exceptions\Handler.php
public function report(Exception $exception)
{
Log::info($exception);
parent::report($exception);
}
Log
[2020-03-10 17:19:09] local.INFO: Exception caught
所以问题是:如何在不添加需要大量更改的代码的情况下记录/处理 try catch 块中捕获的抛出异常?
【问题讨论】: