我正在尝试将特定catch块中的异常传递给更通用的catch块。但它似乎没有起作用。我尝试以下操作时出现500服务器错误。这甚至可能吗?
我意识到有一些简单的解决方法,但是说“嘿,我不想处理这个错误,让我们有更普遍的异常处理程序来处理它!”
try {
//some soap stuff
}
catch (SoapFault $sf) {
throw new Exception('Soap Fault');
}
catch (Exception $e) {
echo $e->getMessage();
}
答案 0 :(得分:7)
从技术上讲,这就是你要找的东西:
try {
try {
//some soap stuff
}
catch (SoapFault $sf) {
throw new Exception('Soap Fault');
}
}
catch (Exception $e) {
echo $e->getMessage();
}
但我同意不应将例外用于流量控制。更好的方法是这样的:
function show_error($message) {
echo "Error: $message\n";
}
try {
//some soap stuff
}
catch (SoapFault $sf) {
show_error('Soap Fault');
}
catch (Exception $e) {
show_error($e->getMessage());
}