为了账号安全,请及时绑定邮箱和手机立即绑定

后面代码不执行,但是我再输出个什么仍然能输出,那个不执行说的是什么,不是很理解啊

后面代码不执行,但是我再输出个什么仍然能输出,那个不执行说的是什么,不是很理解啊

正在回答

1 回答

抛出异常,如果有catch ,会直接进入catch 代码块里,执行catch里面的代码,而不会再去执行抛出异常语句之后的代码。

$filename = 'test.txt';

try {

    if (!file_exists($filename)) {

      print ('before');

      throw new Exception('文件不存在');

      print ('after');

    }

} catch(Exception $e) {

    echo $e->getMessage();

    echo 'something';

}

例如这个,会执行print ('before'); 

但throw new Exception('文件不存在');出现了异常,所以会直接去执行 echo $e->getMessage();echo 'something';  会跳过  print ('after'); 这句代码

2 回复 有任何疑惑可以回复我~
#1

_亓 提问者

非常感谢!
2015-01-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

后面代码不执行,但是我再输出个什么仍然能输出,那个不执行说的是什么,不是很理解啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信