尝试Catch Performance Java

捕获异常而不是进行检查时,try-catch需要多长时间(以纳秒为单位)(假设消息具有HashMap类型的查找性能)?
try {
        timestamp = message.getLongField( MessageField.TIMESTAMP );
    } catch (MissingDataException e) {
        //Not all messages contain this field
    }

VS

if (message.contains(MessageField.TIMESTAMP))
    timestamp = message.getLongField( MessageField.TIMESTAMP );

解决方法

简而言之,检查更快.你应该使用支票,因为:

>例外是昂贵的!必须创建堆栈跟踪(如果使用,例如记录等)并处理特殊流量控制>例外情况不应用于流量控制 – 例外情况属于“特殊情况”>例外是代码的说法“我无法处理这种情况,我放弃了……你处理它!”,但在这里你可以处理它…所以处理它

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...