几种改善异常处理的技能

更新时间:2023-03-10 08:48:55 作者:通达百科

  改善异常[一部口味很重的日本变态cult风格恐怖片,可谓是日本版的《电锯惊魂》,主题是考验两个人的爱情在生死痛苦面前到底有多真多持久。]处理[处理是汉语词汇,读作chǔ lǐ,出自唐韩愈《黄家贼事宜状》,有处置、安排、加工等意思,快速的解决问题,也泛指低价出售。]的几个技巧,在软件开发过程中,往往会出现一些不可预知的错误,异常处理通常是防止这种未知错误的常用措施,它的好处是你不用再绞尽脑汁去考虑各种错误,这为处理某一类错误提供了一个很有效的方法,使编程效率大大提高。 

异常处理技巧1.  使用一个单一的、系统范围的异常类 

  不要针对每种异常类型创建单独的类,而是只创建一个,并使它继承RuntimeException。这可以减少类的数量,并移除你不会去处理的需要声明的异常。 

异常处理技巧2.  为错误代码使用枚举[在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。] 

  大多数开发者会把导致异常的原因放到消息中,出现异常时,查看日志文件即可。但是这也有一些缺点: 

  •   消息不能被翻译
  •   消息不能很容易地映射为易读的文本
  •   无法从程序方面对消息进行检查

  更好的办法是使用枚举来表示异常的类型。针对每种错误创建一个枚举,并使枚举实现一个ErrorCode接口,然后将它引用为异常中的一个字段。 

  当抛出异常时,只需在适当的枚举中传递即可。 

  现在,当你需要测试具体情况时,只需比较异常代码即可。 

  在某些情况下,一个数字形式的错误代码可以对应一个异常,例如HTTP响应。在这种情况下,在ErrorCode接口中添加一个getNumber方法,并在每个枚举类型中实现它。

异常处理技巧4.  将动态字段添加到异常处理中 

  好的异常处理也意味着记录相关数据,而不仅仅是堆栈跟踪。这样做会节省你大量用于诊断和重现错误的时间。当你的程序停止工作时,也无需客户告诉你,他们做了什么。 

  做到这一点最简单的方法是在异常处理中增加一个java.util.Map字段。该字段主要作用是保留所有异常相关的数据。如果你使用fluent interface(连贯接口)模式,你还需要添加一个通用的setter方法。 

  抛出异常,并带有相关的数据,类似于下面的形式: 

异常处理技巧5.  防止不必要的嵌套 

  长且多余的堆栈跟踪,对谁都没有好处。更糟的是,它们浪费你的时间和资源。当重新抛出异常时,调用一个静态封装方法,而不是异常的构造函数。封装方法将决定何时嵌套异常,以及何时返回原来的实例。 

为您推荐

电脑蓝屏显示代码0X0000007e是什么意思?

  电脑[电脑(Computer)是一种利用电子学原理根据一系列指令来对数据进行处理的机器。]蓝屏[蓝屏,又叫蓝屏死机(Blue Screen of Death,简称BSoD),是微软的 Windows 系

2023-03-10 08:27

如何设置mtu值?

  什么是mtu值,mtu值怎么设置[庵顶,2000年起由庵上改名,是由以前庵顶山一庵得名,人口未知,主要由高,王,李三姓组成,农民以种葱,姜为主,依山傍水,北由汶河,交通便利,

2023-03-10 08:27

计算机网线排序

  网络的使用是越来越普遍,相信不少用户家里的电脑[电脑(Computer)是一种利用电子学原理根据一系列指令来对数据进行处理的机器。]都是使用网线[网线是连接局域网必不可少的。

2023-03-10 08:25

vbs整人代码

  在沉闷的工作环境下,有时玩玩vbs整人[整人、顾名思义:就是对别人进行“恶搞”,但基本都是善意的,开玩笑般。]代码[代码就是程序员用开发工具所支持的语言写出来的源文件,

2023-03-10 08:21

如何分区移动硬盘?

移动硬盘[移动硬盘(Mobile Hard disk)顾名思义是以硬盘为存储介质,计算机之间交换大容量数据,强调便携性的存储产品。]如何分区[分区,指轻工业、重工业、住宅、办公楼及其他房

2023-03-10 08:21

Win10要怎么打开音频服务_Win10打开/关闭音频服务的方法

  Win10如何开启[开启,汉语词汇。]音频[音频是个专业术语,音频一词已用作一般性描述音频范围内和声音有关的设备及其作用。]服务[服务是指为他人做事,不以实物形式而以提供劳

2023-03-10 08:18