你能告诉我如何处理这种例外:
致命错误:未捕获的异常 'Doctrine_Connection_Exception'用 消息'PDO连接错误: SQLSTATE [HY000] [2013]丢失连接 到'读取初始的MySQL服务器 通信包',系统错误:110'......
在查询期间丢失与MySQL的连接时会发生这种情况。我需要处理此异常,因此我可以显示500个错误页面,以便抓取工具不会缓存页面,并将用户重定向到相应的“再试一次”页面。
P.S。我有很多代码,所以我不能通过所有代码来放置try / catch块。我需要简单而有效的东西。
答案 0 :(得分:1)
我还需要一些简单的东西 有效
try / catch 将是您唯一的选择IMO。如果你需要添加一个try / catch子句的许多地方,你可以把这个特殊的代码段移到一个单独的函数中。
例如,如果该行抛出了execption
$ CON组>查询($ your_DQL_query) //这里发生了一些结果
将其移至类似
的内容function goodQuery($sql) {
try {
$con->query($sql);
} catch (Doctrine_Connection_Exception $dce) {
//do something
}
}
您仍需要通过调用函数goodQuery(...)
替换所有“抛出”方法,但这将使未来的开发更容易,因为异常在一个地方处理。
答案 1 :(得分:0)
你没有使用Doctrine处理它...你使用编码语言处理。如果您使用的是PHP:
try {
SomeClass::do_something(parameter);
} catch(DoctrineException $e) {
show_error($e->getMessage());
}
这显然是sudo-code,但它给你一个想法......你可以显示一般错误或具体并显示教条的信息...