上篇文章给大家介绍了《如何运用PHP中高级语法杂项和try-catch》,本文继续给大家介绍PHP中什么是异常处理?我们如何使用异常处理中的try—catch?有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
异常处理:
生活中:
A计划、B计划
代码中:代码按照正常的逻辑执行,如果出现异常,则执行事先准备好的另--套方案
try catch:映射到代码中,try是尝试执行某一块代码,然后如果出现异常情况,那么需要手动抛出异常(throw) ,抛出异常之后,就会被catch捕获到。
[注] try-catch是一种结构,一个try必须至少对应-一个catch
[注] try和catch之间不能加任何代码
try—catch固定格式:
try { } catch () { }
我们还是以代码为例,新建一个文件,代码如下:
<?php try { echo '你是一树一树的花开<br />'; echo '是燕在梁间呢喃<br />'; echo '你是爱,是暖,是希望<br />'; } catch (Exception $e) { } echo '你是人间的四月天';
执行结果如下:
我们会发现,结果是按照正常顺序输出的,如果没有异常,catch是不会直接执行的,如果说有异常,那我们就手动抛出异常,通过throw来进行抛出异常,我们以代码为例:
<?php try { echo '你是一树一树的花开<br />'; echo '是燕在梁间呢喃<br />'; throw new Exception('出现错误了',10); echo '你是爱,是暖,是希望<br />'; } catch (Exception $e) { } echo '你是人间的四月天';
执行结果如下:
我们会发现,代码直接跳过第三句话;
因此我们的执行流程是:程序正常运行try结构中的代码,,如果try中抛出异常,try中抛出异常后面的代码都不会再执行,那么就会执行catch中的代码,然后继续向下执行,如果没有抛出异常,则执行完try中代码之后,程序继续向下执行Exception
其实当我们在抛出这个异常的时候catch里面就可以捕获 我们所抛出的异常,我们要想捕获错误信息就可以通过echo里面的getMessage(),代码如下:
catch (Exception $e) { echo $e->getMessage(); }
执行结果如下:
官方的异常处理类,是所有异常类的基类
getMessage:得到异常消息
getCode:得到异常代号
推荐学习:php视频教程
Atas ialah kandungan terperinci PHP中什么是异常处理?如何使用异常处理中的try—catch?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!