假设在try … catch块中有一个
PHP代码.假设你想要做内部捕获(即发送电子邮件)可能会失败并抛出新的异常.
try { // something bad happens throw new Exception('Exception 1'); } catch(Exception $e) { // something bad happens also here throw new Exception('Exception 2'); }
在catch块中处理异常的正确(最佳)方法是什么?
你不应该把任何东西扔进去.如果你这样做,那么你可以省略try-catch的这个内层并在try-catch的外层捕获异常并在那里处理那个异常.
例如:
try { function(){ try { function(){ try { function (){} } catch { throw new Exception("newInner"); } } } catch { throw new Exception("new"); } } } catch (Exception $e) { echo $e; }
可以替换为
try { function(){ function(){ function (){ throw new Exception("newInner"); } } } } catch (Exception $e) { echo $e; }