当前位置: 技术问答>java相关
使用异常作为判断的手段,你的看法,欢迎讨论.
来源: 互联网 发布时间:2015-05-23
本文导语: 见了http://www.csdn.net/expert/topic/686/686117.xml? temp=.8078424一贴中 对"使用异常作为判断的手段"的讨论,发表我的看法. 贴中说到异常所花的时间是程序正常的运行的18倍,太危言耸听了吧, 不会指包含e.printStackTrace().我...
见了http://www.csdn.net/expert/topic/686/686117.xml? temp=.8078424一贴中
对"使用异常作为判断的手段"的讨论,发表我的看法.
贴中说到异常所花的时间是程序正常的运行的18倍,太危言耸听了吧,
不会指包含e.printStackTrace().我觉得在异常内部处理时,方法参数不对,或对象转化出错,
就往调用方法throw出来,没有太多的动作,效率上讲是不会太慢的.
当然,我也不是绝对强调用异常,异常给人的感觉不舒服,尤其是打印堆栈时.
教科书上可能也不推荐使用,但我觉得不应拘泥于此,即使效率差一些,只要方便用,
又何妨呢.java与c比,慢多了.
最近我看jdk1.4中的logging源码时,就发现有这样的例子:
java.util.logging中Level.java 行269:
public static synchronized Level parse(String name) throws IllegalArgumentException {
// Check that name is not null.
name.length();
// Look for a known Level with the given non-localized name.
for (int i = 0; i
对"使用异常作为判断的手段"的讨论,发表我的看法.
贴中说到异常所花的时间是程序正常的运行的18倍,太危言耸听了吧,
不会指包含e.printStackTrace().我觉得在异常内部处理时,方法参数不对,或对象转化出错,
就往调用方法throw出来,没有太多的动作,效率上讲是不会太慢的.
当然,我也不是绝对强调用异常,异常给人的感觉不舒服,尤其是打印堆栈时.
教科书上可能也不推荐使用,但我觉得不应拘泥于此,即使效率差一些,只要方便用,
又何妨呢.java与c比,慢多了.
最近我看jdk1.4中的logging源码时,就发现有这样的例子:
java.util.logging中Level.java 行269:
public static synchronized Level parse(String name) throws IllegalArgumentException {
// Check that name is not null.
name.length();
// Look for a known Level with the given non-localized name.
for (int i = 0; i