PHP中什么是异常处理?如何使用异常处理中的try—catch?

慕斯
慕斯原创
2023-03-10 19:20:021988浏览

上篇文章给大家介绍了《如何运用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 '你是人间的四月天';

执行结果如下:

23.JPG

我们会发现,结果是按照正常顺序输出的,如果没有异常,catch是不会直接执行的,如果说有异常,那我们就手动抛出异常,通过throw来进行抛出异常,我们以代码为例:

<?php
try {
  echo '你是一树一树的花开<br />';
  echo '是燕在梁间呢喃<br />';
  throw new Exception('出现错误了',10);
  echo '你是爱,是暖,是希望<br />';
} catch (Exception $e) {
}
echo '你是人间的四月天';

执行结果如下:

24.JPG

我们会发现,代码直接跳过第三句话;

因此我们的执行流程是:程序正常运行try结构中的代码,,如果try中抛出异常,try中抛出异常后面的代码都不会再执行,那么就会执行catch中的代码,然后继续向下执行,如果没有抛出异常,则执行完try中代码之后,程序继续向下执行Exception

其实当我们在抛出这个异常的时候catch里面就可以捕获 我们所抛出的异常,我们要想捕获错误信息就可以通过echo里面的getMessage(),代码如下:

catch (Exception $e) {
  echo $e->getMessage();
}

执行结果如下:

25.JPG

官方的异常处理类,是所有异常类的基类

getMessage:得到异常消息

getCode:得到异常代号

推荐学习:php视频教程

以上就是PHP中什么是异常处理?如何使用异常处理中的try—catch?的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。