У меня есть класс с примерно 20 методами, которые все перехватывают 1 или более исключений, а затем отвечают пользователю на основе этого исключения. Вместо того, чтобы писать их снова и снова, я хочу создать единственный метод, который передает исключение, обрабатывает его и дает соответствующий ответ.
Вот пример
public boolean addFirst(Object data){
try {
//add something
return true;
} catch(Exception e) {
exceptionHandler(e);
return false;
}
}
Но когда я пытаюсь сравнить его с «е», это дает мне « Исключение невозможно преобразовать в переменную».
private void exceptionHandler(Exception e) {
if(e == UnsupportedOperationException) {
System.out.println("Operation is not supported.");
} else if (e == ClassCastException) {
System.out.println("Class of the specified element prevents it from being added to this list.");
} else if (e == NullPointerException) {
System.out.println("You cannot enter nothing.");
} else if (e == IndexOutOfBoundsException) {
System.out.println("Your specified index is larger than the size of the LinkedList. Please choose a lower value.");
} else if(e == Exception) {
System.out.println("You messed up so hard that I don't even know what you did wrong.");
}
}