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

慕斯
Lepaskan: 2023-03-10 19:20:02
asal
2605 orang telah melayarinya

上篇文章给大家介绍了《如何运用PHP中高级语法杂项和try-catch》,本文继续给大家介绍PHP中什么是异常处理?我们如何使用异常处理中的try—catch?有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

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

异常处理:

生活中:

A计划、B计划

代码中:代码按照正常的逻辑执行,如果出现异常,则执行事先准备好的另--套方案

try catch:映射到代码中,try是尝试执行某一块代码,然后如果出现异常情况,那么需要手动抛出异常(throw) ,抛出异常之后,就会被catch捕获到。

[注] try-catch是一种结构,一个try必须至少对应-一个catch

[注] try和catch之间不能加任何代码

try—catch固定格式:

try {
} catch () {
}
Salin selepas log masuk

我们还是以代码为例,新建一个文件,代码如下:

<?php
try {
  echo &#39;你是一树一树的花开<br />&#39;;
  echo &#39;是燕在梁间呢喃<br />&#39;;
  echo &#39;你是爱,是暖,是希望<br />&#39;;
} catch (Exception $e) {
}
echo &#39;你是人间的四月天&#39;;
Salin selepas log masuk

执行结果如下:

23.JPG

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

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

执行结果如下:

24.JPG

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

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

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

catch (Exception $e) {
  echo $e->getMessage();
}
Salin selepas log masuk

执行结果如下:

25.JPG

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

getMessage:得到异常消息

getCode:得到异常代号

推荐学习:php视频教程

Atas ialah kandungan terperinci PHP中什么是异常处理?如何使用异常处理中的try—catch?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan