试试PHP中的catch,我可以这样做吗?


Try catch in PHP, Can I go this way?

我写了一个脚本,必须从URL所有的时间读取内容。而不是…

// block 1
Try{
    if(!someAction1){
        throw new exception(someException1);
    }
}catch(Exception $e){
    //exception handling code
}
// block 2
Try{
    if(!someAction2){
        throw new exception(someException2);
    }
}catch(Exception $e){
    //exception handling code
}
// block 3
Try{
    if(!someAction3){
        throw new exception(someException3);
    }
}catch(Exception $e){
    //exception handling code
}

我可以换成这个吗?

Try{
    someFunction1()
}catch(Exception $e){
    //exception handling code
}
public someFunction1(){
    if(!someAction1){
        throw new Exception(someException1);
    }
    if(!someAction2){
        throw new Exception(someException2);
    }
    someFunction2()
}
public someFunction2(){
    if(!someAction3){
        throw new Exception(someException3);
    }
}

我想这样做的原因是因为有很多try-catch块要创建。但所有这些都只是为了防止脚本自己停止(我使用Crontab运行它)。异常处理代码很简单,编写错误日志文件(每个try-catch块都一样)

是的,你可以这样做。

你自己去试试吧