java– 捕获特定异常比捕获泛型异常更便宜吗?

java– 捕获特定异常比捕获泛型异常更便宜吗?,第1张

概述假设我正在将一个位图加载到我的Android设备上.可以抛出许多可能的异常.为简单起见,我们采用NullPointerException和OutOfMemoryError.现在我有两段代码.代码1try{//loadthebitmap}catch(Exceptione){//dosomething}代码2try{//loadthebitmapcatch(NullPoin

假设我正在将一个位图加载到我的Android设备上.可以抛出许多可能的异常.为简单起见,我们采用NullPointerException和OutOfMemoryError.

现在我有两段代码.

代码1

try{//load the bitmap}catch(Exception e){//do something}

代码2

try{//load the bitmapcatch (NullPointerException e){//do something}catch(OutOfMemoryError e){//do something else}

一段代码比其他性能更有效吗?如果是这样,为什么?

解决方法:

从字节码的角度来看,第一个更有效(更少的代码).

但是你永远不应该以这种方式看待表现.

如果您对所有类型的异常具有相同的行为,则应该使用第一组代码,以任何其他方式,第二组代码.

在字节代码中,您有以下代码负责捕获eceptions:

   L2    liNENUMBER 7 L2   FRAME SAME1 java/lang/NullPointerException    ASTORE 1    GOTO L4   L3    liNENUMBER 9 L3   FRAME SAME1 java/lang/Exception    ASTORE 1   L4

因此,每个例外都有一个代码,负责捕获它,但正如我所说,这是一个微小的差异,不应该考虑它.

总结

以上是内存溢出为你收集整理的java – 捕获特定异常比捕获泛型异常更便宜吗?全部内容,希望文章能够帮你解决java – 捕获特定异常比捕获泛型异常更便宜吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1110224.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存