例如使用JDBC與DAO時, DAO接口中沒有定義為拋出SQL異常, 但在實現的時候又不能把SQL異常給忽略掉, 而又不想去修改DAO接口, 這時可以捕捉到SQL異常, 然后取得其信息, 拋出一個運行時異常:
throw new RuntimeException(e.getMessage(), e);
SQL異常是編譯時異常, 在編譯的時候就進行判斷, 而運行時異常在編譯的時候不強制捕捉或者再次拋出, 只有在運行時出現異常的時候才會拋出, 是可選擇性捕捉的, 如Hibernate就使用了運行時異常.