我在处理一个庞大的项目(数十万行代码),但其中存在许多MySQL错误。为了解决这个问题,我正在清理它们。我的所有查询都通过数据库类进行,所以我已经做的事是每当出现SQL错误时就抛出异常。问题在于我不能让程序停止执行。它必须像以前一样继续执行,并记录异常信息,以便我可以逐个修复它们。
我希望set_exception_handler能做到我想要的效果,但文档明确说明它会在调用我的处理程序后停止执行。那么我该如何解决呢?
异常可以阻止当前函数的执行,但然后我希望它退出该函数,可能返回null或false,然后像往常一样继续执行,但我需要它调用我的全局异常处理程序。
澄清一下:
我希望从我的数据库类中抛出异常(每当出现SQL错误时)。然后我想将此错误记录/显示在屏幕上,直到我可以修复SQL错误或在try/catch中包含有问题的语句。我不想让它停止执行。如果我只是调用某个error_handler()而不是抛出异常,则无法捕获它。如果我立即捕获它(也在DB类内部),则无法在堆栈下方再次捕获它(除非我重新抛出它,但这会导致程序停止执行)。
我希望set_exception_handler能做到我想要的效果,但文档明确说明它会在调用我的处理程序后停止执行。那么我该如何解决呢?
异常可以阻止当前函数的执行,但然后我希望它退出该函数,可能返回null或false,然后像往常一样继续执行,但我需要它调用我的全局异常处理程序。
澄清一下:
我希望从我的数据库类中抛出异常(每当出现SQL错误时)。然后我想将此错误记录/显示在屏幕上,直到我可以修复SQL错误或在try/catch中包含有问题的语句。我不想让它停止执行。如果我只是调用某个error_handler()而不是抛出异常,则无法捕获它。如果我立即捕获它(也在DB类内部),则无法在堆栈下方再次捕获它(除非我重新抛出它,但这会导致程序停止执行)。