in elasticjob-infra/elasticjob-restful/src/main/java/org/apache/shardingsphere/elasticjob/restful/pipeline/ExceptionHandling.java [90:107]
private <T extends Throwable> ExceptionHandler<T> searchExceptionHandler(final Throwable cause) {
Class<? extends Throwable> exceptionType = cause.getClass();
ExceptionHandler<? extends Throwable> exceptionHandler = exceptionHandlers.get(exceptionType);
if (null == exceptionHandler) {
for (Map.Entry<Class<? extends Throwable>, ExceptionHandler<? extends Throwable>> entry : exceptionHandlers.entrySet()) {
Class<? extends Throwable> clazz = entry.getKey();
ExceptionHandler<? extends Throwable> handler = entry.getValue();
if (clazz.isAssignableFrom(exceptionType)) {
exceptionHandler = handler;
break;
}
}
}
if (null == exceptionHandler) {
exceptionHandler = DEFAULT_EXCEPTION_HANDLER;
}
return (ExceptionHandler<T>) exceptionHandler;
}