php内置的RuntimeException与普通的Exception在用途上有何区别?
迷茫
迷茫 2017-04-11 09:43:21
[PHP讨论组]

我觉得php7之前所有的exception都是在runtime的时候抛出的,php7也并没有使用Exception类来处理parse-time的异常,而是使用的Error类(直接实现Throwable),那这两个异常从意义上来讲是不是一样呢?在实践中,如果要临时抛一个异常,不使用自定义异常的话,可不可以直接抛RuntimeException呢?自定义的异常是不是也可以直接继承RuntimeException呢?

(我看到symfony的有些地方确实是这么做的)

Exception thrown if an error which can only be found on runtime occurs.

手册上这么说。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(1)
阿神

要说用途,那就没什么区别。但就像Java里的RuntimeException和Exception的关系一样,Exception的类型主要是用于描述和区分不同类型的异常的。在需要分别处理不同类型的异常时尤为有用。
那么从意义上说,Exception是所有异常的基础,而RuntimeException意味着运行时异常,由于PHP不像Java那样存在强制异常申明和编译检查,所以直接使用Exception也并不意味着非要使用catch捕捉。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号