你能告诉我如何处理这种异常吗:
Fatal error: Uncaught exception 'Doctrine_Connection_Exception' with message 'PDO Connection Error: SQLSTATE[HY000] [2013] Lost connection to MySQL server at 'reading initial communication packet', system error: 110' in ...
它发生在查询期间与 MySQL 的连接丢失时。我需要处理这个异常,这样我就可以显示 500 错误页面,这样爬虫就不会缓存页面,并将用户重定向到适当的“再试一次”页面。
附言我有很多代码,所以我不能遍历所有代码来放置 try/catch block 。我需要一些简单但有效的东西。
最佳答案
I need something simple and yet effective
try/catch 将是您唯一的选择 IMO。如果你有很多地方需要添加 try/catch 子句,你可以将这段代码移到一个单独的函数中。
如果,比方说,这一行抛出异常
$con->query($your_DQL_query) //结果在这里发生了一些事情
把它移到类似的地方
function goodQuery($sql) {
try {
$con->query($sql);
} catch (Doctrine_Connection_Exception $dce) {
//do something
}
}
您仍然需要用调用函数 goodQuery(...)
来替换所有“throwing”方法,但这将使 future 的开发更容易,因为异常是在一个地方处理的。
关于php - 我该如何处理这种异常(在 Doctrine 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4707414/