本网站(662p.com)打包出售,且带程序代码数据,662p.com域名,程序内核采用TP框架开发,需要联系扣扣:2360248666 /wx:lianweikj
精品域名一口价出售:1y1m.com(350元) ,6b7b.com(400元) , 5k5j.com(380元) , yayj.com(1800元), jiongzhun.com(1000元) , niuzen.com(2800元) , zennei.com(5000元)
需要联系扣扣:2360248666 /wx:lianweikj
PHP 实战 try、catch、finally 用法总结
iamgeek · 127浏览 · 发布于2023-06-28 +关注

在 PHP 中,try、catch 和 finally 是用于处理异常的关键字。

对应执行流程图:

image.png

image.png

try 块包含可能会抛出异常的代码。如果在 try 块中抛出了异常,它将被捕获并传递给与之匹配的 catch 块进行处理。如果没有抛出异常,catch 块将被跳过。

catch 块定义了异常的处理逻辑。它可以捕获特定类型的异常,并执行相应的操作。你可以定义多个 catch 块来捕获不同类型的异常。异常类型匹配是根据继承关系进行的,所以子类异常也会被匹配到父类异常的 catch 块中。

finally 块是一个可选的代码块,它始终会在 try-catch 块执行完毕后执行,无论是否有异常抛出。它通常用于执行一些清理操作,例如关闭文件、释放资源等。

以下是一个示例代码,演示了 try、catch 和 finally 的用法:

try {
    // 可能抛出异常的代码
    // 例如,打开文件、执行数据库查询等
    // 如果发生异常,将会抛出异常对象
} catch (ExceptionType1 $e) {
    // 处理 ExceptionType1 类型的异常
    // 可以访问异常对象 $e 的属性和方法
} catch (ExceptionType2 $e) {
    // 处理 ExceptionType2 类型的异常
} finally {
    // 执行清理操作的代码
    // 无论是否有异常,都会执行该块的代码
}

在上面的代码中,你需要将 "ExceptionType1" 和 "ExceptionType2" 替换为你要捕获的具体异常类型。你可以根据需要添加更多的 catch 块来处理其他类型的异常。

在 catch 块中,你可以使用异常对象的属性和方法来获取有关异常的信息,例如异常消息、文件、行号等。

无论是否发生异常,finally 块中的代码都会被执行。它是可选的,可以根据你的需求决定是否使用它。

  • 如果 catch 里面有 return 或者 try 里面有 return,finally 里面没有 return,最后会 return 前面的第一个 return,非 finally 代码段的 return 后面的代码是不执行的,finally 代码段肯定会执行。

  • 如果 catch 里面有 return 或者 try 里面有 return,finally 里面有 return,非 finally 代码段的 return 后面的代码是不执行的,但是 finally 里面的 return 会覆盖前面 return 的值



php

相关推荐

PHP实现部分字符隐藏

沙雕mars · 1325浏览 · 2019-04-28 09:47:56
Java中ArrayList和LinkedList区别

kenrry1992 · 908浏览 · 2019-05-08 21:14:54
Tomcat 下载及安装配置

manongba · 970浏览 · 2019-05-13 21:03:56
JAVA变量介绍

manongba · 963浏览 · 2019-05-13 21:05:52
什么是SpringBoot

iamitnan · 1086浏览 · 2019-05-14 22:20:36
加载中

0评论

评论
努力追求卓越,极致,这么一个GEEK人,希望可以跟大家认识,交流一下。
分类专栏
小鸟云服务器
扫码进入手机网页