Guava學習總結之- 5 - Basic Utilities - Throwables

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的時候才拋出異常



     


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章