无法弄清楚捕捉引发的异常

时间:2017-09-20 14:58:23

标签: php exception exception-handling

我正在尝试使用try / catch块为自定义WordPress插件添加一些错误处理,该插件通过Twitter API获取推文。

出于测试目的,我在类构造方法中抛出异常。

class Twitter_Settings() {

    public function __construct() {
        throw new \Exception('test');
    }
}

然后在我的插件文件中,我正在做:

function twitter_init_settings() {
    try {
        return new Twitter_Settings();
    } catch ( Exception $e ) {
        echo $e->getMessage();
    }
}

twitter_init_settings();

在前端,我吐出$tweets = twitter_feed()->output_feed();(之后有一个foreach循环),我收到一个未捕获的异常错误。奇怪的是,它显示了自定义消息“测试”,所以它必须知道我的异常,那为什么说它没有被捕?

1 个答案:

答案 0 :(得分:0)

未捕获异常时发生未捕获异常错误(在try catch语句中)

删除返回语句,因为可能无法访问该句号。