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