我想为特定异常添加一些处理
Zend_Db_Statement_Exception' with message
'SQL ERROR: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away
我更喜欢在相当低级别的地方对异常消息进行字符串比较,这样在我的应用程序逻辑中,我可以简单地捕获一个友好的异常My_Module_Exception_MysqlGoneAway
,例如应用逻辑。
所以在这种特殊情况下,错误是由 load() 方法触发的,所以我可以重写 Mage_Core_Model_Abstract,重载 load() 方法并添加异常处理。但这不是万无一失的,b/c 这种事情也可能由收集负载或其他代码区域触发。
所以另一种选择是覆盖lib/Varien/Db/Adapter/Pdo/Mysql.php
in app/code/local
,并在那里添加异常处理,但这似乎有点矫枉过正,只是为了有一个很好的异常类。
有没有更简单的方法来做到这一点?