扫码关注官方订阅号
项目代码使用try-catch 语法的好处是什么,可以不使用吗,那么其他debug的机制有吗,请教各位?
光阴似箭催人老,日月如移越少年。
首先要明确的是,try-catch(使用Exception)是一种错误处理机制,和debug是两个范畴的东西。另一个常见的错误处理机制是判断返回值,如函数fopen(),可以根据返回值判断操作是否成功。
try-catch
debug
fopen()
关于使用哪种机制比较合理,这里有比较详细的讨论https://stackoverflow.com/que.... 具体到你贴的代码场景,add()方法里面调用的每一个方法,都是有失败的可能的,如果用使用返回值来判断操作结果,那么调用每一个方法都得使用if-else,写起来比较繁琐,可读性也比较差。另外的一个好处是,Exception里可以记录额外的错误信息,比如如果insert()方法发生异常,那么调用$e->getMessage()应该就能获取发生异常的原因了。
add()
if-else
Exception
insert()
$e->getMessage()
try-catch 遇到异常catch捕获异常可以继续执行,以下操作;像你展示的是:$this->loge($e);
而debug本质是echo"";die;差别很大
捕获程序有可能产生的异常情况
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
首先要明确的是,
try-catch(使用Exception)是一种错误处理机制,和debug是两个范畴的东西。另一个常见的错误处理机制是判断返回值,如函数fopen(),可以根据返回值判断操作是否成功。关于使用哪种机制比较合理,这里有比较详细的讨论https://stackoverflow.com/que.... 具体到你贴的代码场景,
add()方法里面调用的每一个方法,都是有失败的可能的,如果用使用返回值来判断操作结果,那么调用每一个方法都得使用if-else,写起来比较繁琐,可读性也比较差。另外的一个好处是,Exception里可以记录额外的错误信息,比如如果insert()方法发生异常,那么调用$e->getMessage()应该就能获取发生异常的原因了。try-catch 遇到异常catch捕获异常可以继续执行,以下操作;像你展示的是:
$this->loge($e);
而debug本质是echo"";die;差别很大
捕获程序有可能产生的异常情况