exception 是否需要php,为什么要使用多个PHP Exception类

博客探讨了PHP中异常处理的重要性,通过定义多个特定异常类来精细化错误处理。作者指出,通过创建如FileNotFoundException和FileNotImageException等自定义异常类,可以在捕获异常时采取不同的应对策略,提供更精确的错误恢复方案。这种方式增强了代码的可读性和可维护性,允许开发者针对不同类型的错误采取不同的处理措施。
摘要由CSDN通过智能技术生成

我承认我没有使用Exceptions很多,而且他们很难在PHP中掌握100%,这可能部分是因为PHP没有最好的错误=>例外支持,但我不太了解它们.

以下面的代码为例,它定义了4个不同的类,除了扩展基本的Exception类之外什么都不做.我只是好奇为什么不会只调用一个Exception以及为什么他们拥有所有这些单独的类.

我认为有充分的理由吗?

class OptimizeImageException extends Exception {};

class FileNotFoundException extends OptimizeImageException {};

class FileNotImageException extends OptimizeImageException {};

class ModuleNotFoundException extends OptimizeImageException {};

解决方法:

通过拥有多个Exception类,您可以在捕获它们时选择您感兴趣的那个.

class OptimizeImageException extends Exception {};

class FileNotFoundException extends OptimizeImageException {};

class FileNotImageException extends OptimizeImageException {};

class ModuleNotFoundException extends OptimizeImageException {};

try {

throw new FileNotImageException();

} catch (FileNotFoundException $x) {

echo "NOT FOUND!";

// do something about it

} catch (FileNotImageException $x) {

echo "NOT IMAGE!";

// do something about it

} catch (Exception $x) {

echo "UNKNOWN EXCEPTION!";

// do something else about it

}

这是一个简单的例子,但是假设你有一个函数loadImage(),它应该加载一个图像.如果函数失败,您可以以不同方式处理不同的故障情况.如果你总是抛出一个基本的异常,你只会知道出了什么问题.您不知道出了什么问题,因此您不能根据不同的方案获得不同的恢复响应,而不是使用其他机制(这使得异常相当弱).

标签:php,exception-handling

来源: https://codeday.me/bug/20190610/1208743.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值