¿Por qué debo envolver mis excepciones personalizadas lanzadas con try
/catch
al intentar lanzarlas, pero no tengo que hacer eso para excepciones genéricas? Al igual que en el ejemplo, mi Exception
subclase:Lanzar excepciones personalizadas en Java
public class MyException extends Exception {
public MyException(String msg) {
super(msg);
}
}
excepciones que lanzan:
public class Exe {
private static void testex(String test) {
if (null!=test) {
throw new UnsupportedAddressTypeException();
} else {//Removing try/catch block results in compile failure
try {
throw new MyException("message");
} catch (MyException e) {
e.printStackTrace();
}
}
}
}
Consulte [Excepciones sin marcar] (http://docs.oracle.com/javase/tutorial/essential/exceptions/runtime.html) en el tutorial de Java. – McDowell