当前位置: 技术问答>java相关
程序中抛出异常是否影响效率?
来源: 互联网 发布时间:2017-03-09
本文导语: 我有一个程序基本上如下: String str; ...// 对str 作赋值处理, 然后 if(str!=null) { ... 程序正常流程 } else { new Exception("..") // 抛出某个异常 } 当然外面有一个try..catch块, 请问各位, 这样的程序设计是...
我有一个程序基本上如下:
String str;
...// 对str 作赋值处理, 然后
if(str!=null)
{
... 程序正常流程
}
else
{
new Exception("..") // 抛出某个异常
}
当然外面有一个try..catch块,
请问各位, 这样的程序设计是否有问题?会不会影响到效率问题?
String str;
...// 对str 作赋值处理, 然后
if(str!=null)
{
... 程序正常流程
}
else
{
new Exception("..") // 抛出某个异常
}
当然外面有一个try..catch块,
请问各位, 这样的程序设计是否有问题?会不会影响到效率问题?
|
会影响 处理异常时要有额外的开销 而且 你的代码时不是有问题
应该是 throw new Exception("..") ;
应该是 throw new Exception("..") ;
|
抛出一个异常所用的时间大概是进行一次if判断的几百倍到一千倍左右,如果抛出异常的概率很小的话就用,如果概率大的话就用返回值再判断
|
没事。Java是用来写大型程序的,不是用来和if来比较速度的。代码的可维护性和健壮性比if能省的那么点时间重要多了。
所以,该用就用,不用担心效率。
所以,该用就用,不用担心效率。
|
没有问题,不会影响效率。
|
不会影响效率,但是只是觉得程序结构不是十分易读。
如果把你要抛出的异常,放到一起写就比较好看。
catch(???? e1){}
catch(???? e2){}
如果把你要抛出的异常,放到一起写就比较好看。
catch(???? e1){}
catch(???? e2){}