001package co.codewizards.cloudstore.core.util; 002 003public final class ExceptionUtil { 004 005 private ExceptionUtil() { } 006 007 public static <T extends Throwable> T getCause(Throwable throwable, Class<T> searchClass) { 008 AssertUtil.assertNotNull(throwable, "throwable"); 009 AssertUtil.assertNotNull(searchClass, "searchClass"); 010 011 Throwable cause = throwable; 012 while (cause != null) { 013 if (searchClass.isInstance(cause)) { 014 return searchClass.cast(cause); 015 } 016 cause = cause.getCause(); 017 } 018 return null; 019 } 020}