【欢迎关注、分享、点赞或评论,您的一个举手之劳,便是最大的鼓励!
】
欢迎关注【php在路上】每天进步一点。
码字不随意马虎,尊重版权,转载请注明出处:头条号|PHP在路上。
序言:
非常是程序运行中不符合预期的情形,以及与正常流程不同的情形。属于逻辑和业务中断的情形,不属于语法缺点。但是,非常不处理,在php中会议缺点的形式涌现,so,我们一起来看看PHP中是怎么处理非常的。
内容概要:1、非常基本处理:try,throw和catch
2、非常基本处理的总结
一、非常基本处理:try,throw和catch在PHP中,我们可以利用try,throw和catch的办法对非常进行抛出和捕获。
我们先看不处理的情形:
运行结果显示:
Warning: Division by zero in /Users/haodaquan/Sites/Test/exception/index.php on line 19
这个实验实在是试取利用除零的办法抛出一个非常,结果,在没有处理的情形下,PHP直接返回了缺点的提示。
而对付除零问题,JAVA的处理办法就比较方便,它的内置类会直接获取这个非常情形。
连续,我们试着利用try threw抛出非常,并利用catch办法捕获进行处理:
运行结果:
Error Processing Request
可以看出,这次我们成功捕获了非常,并对非常进行打印处理。但是,但是,但是,如果我们不在try模块中抛出非常的话,我们是无法捕获非常的。(这不是if else处理办法吗?)。
exception是一个PHP内置的非常处理类,下一节我们详细谈论,这里只须要知道他能捕获缺点就行了。
连续,我们看抛出多个非常的写法:
运行结果:Error Processing Request2
到这里可以看出,PHP的非常处理,越来越像if else了(往后我们会纠正这个不雅观点)。我们可以看出,PHP非常处理每手工抛出一个非常,就要有一个而且至少一个非常处理类相对应(当然,可以直策应用exception类),这句话的意思是:我们可以利用exception类来抛出和捕获所有的非常,不过这样,处理非常就显得有点麻烦了。
二、非常基本处理的总结我们本日通过例子,理解PHP处理非常的基本方法:try,throw和catch,由此,我们得出以下结论,请大家磋商。
1、PHP的非常是必须手工抛出的,否则便是缺点。
2、每个 throw 必须对应一个 catch,即有非常抛出,就必须捕获。
3、PHP非常处理机制是不完善的(比较较JAVA),处理非常比较繁琐。
抛砖引玉,欢迎大家谈论。