为什么要使用多个PHP Exception类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了为什么要使用多个PHP Exception类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1469字,纯文字阅读大概需要3分钟。
内容图文
![为什么要使用多个PHP Exception类](/upload/InfoBanner/zyjiaocheng/808/8c1723f08dce4bd28465152f5c096665.jpg)
我承认我没有使用Exceptions很多,而且他们很难在PHP中掌握100%,这可能部分是因为PHP没有最好的错误=>例外支持,但我不太了解它们.
以下面的代码为例,它定义了4个不同的类,除了扩展基本的Exception类之外什么都不做.我只是好奇为什么不会只调用一个Exception以及为什么他们拥有所有这些单独的类.
我认为有充分的理由吗?
class OptimizeImageException extends Exception {};
class FileNotFoundException extends OptimizeImageException {};
class FileNotImageException extends OptimizeImageException {};
class ModuleNotFoundException extends OptimizeImageException {};
解决方法:
通过拥有多个Exception类,您可以在捕获它们时选择您感兴趣的那个.
<?php
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类全部内容,希望文章能够帮你解决为什么要使用多个PHP Exception类所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。