项目 优先使用标准例外
来源:dev.to
时间:2024-12-06 13:10:00 348浏览 收藏
积累知识,胜过积蓄金银!毕竟在文章开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《项目 优先使用标准例外》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~
1。重用标准异常的重要性
- 标准异常使代码更容易被其他程序员理解和熟悉。
- 提高 api 阅读和学习能力。
- 减少内存消耗和类加载时间。
2。最重用的标准异常及其典型用途
- illegalargumentexception:
- 当参数具有不适当的值时使用。
示例:
public void setrepeatcount(int count) { if (count < 0) { throw new illegalargumentexception("count cannot be negative"); } this.count = count; }
illegalstateexception:
- 当对象的状态不允许操作时启动。
示例:
public void start() { if (started) { throw new illegalstateexception("already started"); } started = true; }
空指针异常:
- 禁止使用空参数时使用。
示例:
public void setname(string name) { if (name == null) { throw new nullpointerexception("name cannot be null"); } this.name = name; }
indexoutofboundsexception:
用于超出允许范围的索引。
示例:
public int getelement(int index) { if (index < 0 || index >= size) { throw new indexoutofboundsexception("index out of range"); } return elements[index]; }
并发修改异常:
- 在检测到对设计供单线程使用的对象进行并发修改时启动。
示例:
for (string item : list) { list.remove(item); // pode lançar concurrentmodificationexception }
不支持的操作异常:
- 当对象不支持某个操作时启动。
示例:
list<string> immutablelist = collections.unmodifiablelist(new arraylist<>()); immutablelist.add("item"); // lança unsupportedoperationexception
3。使用标准异常时的良好实践
- 不要直接重用一般超类,如 exception、runtimeexception、throwable 或 error。
- 根据记录的语义选择异常。
- 仅在必要时使用标准异常的自定义子类。
4。例外情况之间的决定
- 在不明确的情况下,请遵循以下准则:
- 如果操作由于对象的状态而失败,则使用 illegalstateexception。
- 如果失败是由无效参数引起的,则使用 illegalargumentexception。
示例:
- 如果手牌大小无效,发牌方法可能会抛出 illegalargumentexception;如果牌组没有足够的牌,则发牌方法可能会抛出 illegalstateexception。
5。其他可重用的异常
- arithmeticexception 和 numberformatexception 可以在数学运算和数字转换的上下文中使用。
示例:
public int divide(int numerator, int denominator) { if (denominator == 0) { throw new ArithmeticException("Division by zero"); } return numerator / denominator; }
结论
尽可能优先使用标准异常。它们使代码更清晰、更高效并且符合 java 语言实践。
终于介绍完啦!小伙伴们,这篇关于《项目 优先使用标准例外》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!
声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
最新阅读
更多>
-
278 收藏
-
165 收藏
-
497 收藏
-
343 收藏
-
463 收藏
-
428 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习