我正在开发一个J2ME应用程序,我想为异常处理做一个很好的练习,我会抛出一些例外,比如
ConnectionNotFoundException, IOException, XmlPullParserException, OutOfMemory, Exception
我不想在我制作的每个方法中捕获所有这些异常
所以我认为我可以创建一个新类
此课程将处理所有其他课程
我已经完成了这个课程
public class ExceptionHandler extends Exception {
private Exception thrownException;
public ExceptionHandler(Exception thrownExc) {
this.thrownException = thrownExc;
if (thrownException.getClass().isInstance(ConnectionNotFoundException.class)) {
// DO SOMETHING
} else if (thrownException.getClass().isInstance(IOException.class)) {
// DO SOMETHING
} else if (thrownException.getClass().isInstance(XmlPullParserException.class)) {
// DO SOMETHING
} else if (thrownException.getClass().isInstance(NullPointerException.class)) {
// DO SOMETHING
} else if (thrownException.getClass().isInstance(OutOfMemoryError.class)) {
// DO SOMETHING
} else if (thrownException.getClass().isInstance(Exception.class)) {
// DO SOMETHING
}
}
}
但我不知道这是否是一个好方法,而且当我用我的替换抛出的异常时我也有错误
那我该怎么办?
答案 0 :(得分:2)
您走在正确的轨道上,这是处理错误的最佳方式。您还可以在自定义异常类中传递名为message的第二个参数,然后在此处显示消息。像这样:
if (thrownException.getClass().isInstance(ConnectionNotFoundException.class)) {
Dialog.alert(msg);
}
同样来自通话类,您只需拨打new ExceptionHandler(exception, Constants.msg)
Constants.java类将保存所有错误消息。