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

来源:6-1 PHP异常处理之抛出一个异常

_亓

2015-01-07 22:28

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

写回答 关注

1回答

  • 秋枫InSpring
    2015-01-21 13:58:57
    已采纳

    抛出异常,如果有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'); 这句代码

    _亓

    非常感谢!

    2015-01-21 21:24:23

    共 1 条回复 >

PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181708 学习 · 2575 问题

查看课程

相似问题