控制器中的banner抛出的是BannerMissException,render中定义的是Exception,为什么这里能捕获?

来源:6-5 实现自定义全局异常处理 下

潦草风尘

2017-05-20

http://szimg.mukewang.com/591fc2250001fa9b18900988.jpg

http://szimg.mukewang.com/591fc22600018a7818060996.jpg

第六章日志

http://szimg.mukewang.com/591fc2c20001284809910462.jpg

老师,在Banner控制器中抛出的是BannerMissException异常,render中传的参数是Exception,可是这里却捕获成功了,在后面的第六章日志处理中却又要改成Exception,这是为什么,两个地方捕获的不一样么?


写回答

1回答

7七月

2017-05-20

这个是面向对象的基础,BannerMissException是子类,子类可以被强制转换成父类。后面做了更改是因为BannerMissException需要继承PHP内部的Exception,而不是继承TP的Exception。PHP内部的Exception是所有Exception的基类。

0
0

微信小程序电商实战 从前端到后端的全流程精讲

全栈工程师/前后端都讲/架构思想/ RESTFul API、MySQL表设计

4805 学习 · 4382 问题

查看课程