[JAVA] Ausnahmeschaltmethode

Allgemeine Verarbeitung, bei der Ausnahmen je nach Objekt gewechselt werden sollen

Wenn der Rückgabewert der API ungültig ist, möchte ich abhängig von der API eine andere Ausnahme verwenden.

Ein Memorandum, das anscheinend in einer Situation verwendet werden kann, in der der Großteil der Verarbeitung ähnlich zu sein scheint

ThrowExceptionTest.java


package reflection;

public class ThrowExceptionTest {
	
	public static void main(String[] args) {
		try {
			throwException("w");
		} catch (WwwwException e) {
			System.out.println(e.getMessage());
		} catch (ZzzzException e) {
			System.out.println(e.getMessage());
		}
	}
	
	/**
	 *Schalten Sie die vom Flag ausgelöste Ausnahme um.
	 * 
	 * @param flg
	 * @throws WwwwException
	 * @throws ZzzzException
	 */
	private static void throwException(String flg) throws WwwwException, ZzzzException {
		WwwwException w = new WwwwException("w nicht gut");
		ZzzzException z = new ZzzzException("Nein mit z");
		if (ApiName.W.getText().equals(flg)) {
			throw w;
		}
		if (ApiName.Z.getText().equals(flg)) {
			throw z;
		}
	}
}
class WwwwException extends Exception {
	private static final long serialVersionUID = 1L;
	WwwwException(String msg) {
		super(msg);
	}
}
class ZzzzException extends Exception {
	private static final long serialVersionUID = 1L;
	ZzzzException(String msg) {
		super(msg);
	}
}
enum ApiName {
	W("w"),
	Z("z");
	private String text;
	private ApiName(final String text) {
		this.text = text;
	}
	public String getText() {
		return text;
	}
}

Schlechter Punkt: Es ist ärgerlich, eine Schlüsselaufzählung zu haben

Ich wollte wirklich etwas Gutes mit der Exception-Klasse als Argument machen. Argumente: Class <? Erweitert Throwable> Verarbeitung: throw argument .newInstance () Mögen

Aber das liegt daran, dass ich Reflexion verwenden muss

Es hat aus verschiedenen Gründen nicht funktioniert. Übrigens war es mit `NumberFormatException` möglich Ich wusste, dass es nicht gut war, also hörte ich auf zu schauen, was ich tun konnte. Wahrscheinlich kein System, das von "IllegalArgumentException" oder anderen Ausnahmen erfasst wird Wie auch immer
Nun, es scheint nicht schlecht zu sein, viele ähnliche Methoden zu entwickeln, nur die Ausnahmen sind unterschiedlich. Wenn sie ähnlich sind, möchte ich sie zusammenstellen.

Recommended Posts

Ausnahmeschaltmethode
Ausnahme
Java-Methode
to_i Methode
Java (Methode)
Methode getRequestDispatcher ()
Zusammenführungsmethode
Kartenmethode
Methode einschließen
Abstrakte Methode
Methode initialisieren
Listenmethode
setzt Methode
Ausnahmebehandlung
Java-Methode
Klassenmethode
Save! -Methode
Selbst gemachte Ausnahme
getParameter-Methode
[Java] -Methode
private Methode
Schienenmethode
Ausnahmebehandlung Ausnahme
[Java] -Methode