我有此代码:
try{
firstMethod()
secondMethod()
}
catch(Exception $e){
....
}
我要执行的是所有try/catch
块函数,但是要捕获是否抛出异常,而不跳过以下方法
可能但不太漂亮的代码是:
try{
firstMethod();
}
catch(Exception $e){
....
}
try{
secondMethod();
}
catch(Exception $e){
....
}
答案 0 :(得分:4)
如果您正在寻找比“不漂亮”的方法更方便的方法,我假设您可能有很多?
我想说说遍他们:
foreach ( [ 'firstMethod', 'secondMethod' ] as $callable ) {
try {
$callable();
}
catch ( Exception $e ) {
}
}
答案 1 :(得分:2)
为什么不编写try catch在每个函数中并将异常记录在某个地方。
function firstMethod() {
try {
//code
}
catch (Exception $e) {
logException($e);
}
}
function secondMethod() {
try {
//code
}
catch (Exception $e) {
logException($e);
}
}
function mainMethod() {
firstMethod();
secondMethod();
}
这将有助于执行以下操作:
function someOtherMethod() {
secondMethod();
}