码迷,mamicode.com
首页 > 其他好文 > 详细

Guava学习总结之- 5 - Basic Utilities - Throwables

时间:2014-08-28 18:17:26      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:java   guava   

Guava Throwables是一个Google设计的能够更好的管理JAVA Exception 抛出的一个工具,但是说实话我自己感觉这个实用性并没有那么的大,而Google自己也在文档中阐明了使用Throwables的争议性很大, 并且说只有在某些特定情况下Throwables才能显得有用。 我在这里列出Throwables的一些常用方法,大家见人见智。 


  1. RuntimeException propagate(Throwable) 

    Throwables 把任何Throwable包装成 RuntimeException 然后抛出。我认为这在J2EE的情况下可能有些用,大家知道在EJB 的SessionBean或者Spring 的用事务包装的业务层的方法,默认只有在出RuntimeException的时候才会触发事务回滚, 这个时候可以用

try {
     someMethodThatCouldThrowAnything
();
   
} catch (Throwable t) {
     
throw Throwables.propagate(t); // 但是可以直接用 throw new RuntimeException()代替,而且更加明显
   
}

 

2   .void propagateIfInstanceOf(Throwable, Class<X extends Exception>) 

  只有给定Throwable是指定EXCEPTION 的时候,才抛出指定EXCEPTION异常


3. void propagateIfPossible(Throwable)

    只有Throwable是RuntimeException或者是Error的时候才抛出异常


4. void propagateIfPossible(Throwable, Class<X extends Throwable>) 

  只有Throwable是RuntimeException或者是Error或者是指定EXCEPTION的时候才抛出异常



     


Guava学习总结之- 5 - Basic Utilities - Throwables

标签:java   guava   

原文地址:http://545979.blog.51cto.com/535979/1546223

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!