J2ME中的异常处理

时间:2012-09-20 11:27:54

标签: exception exception-handling java-me try-catch throw

我正在开发一个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
        }
    }
}

但我不知道这是否是一个好方法,而且当我用我的替换抛出的异常时我也有错误

那我该怎么办?

1 个答案:

答案 0 :(得分:2)

您走在正确的轨道上,这是处理错误的最佳方式。您还可以在自定义异常类中传递名为message的第二个参数,然后在此处显示消息。像这样:

if (thrownException.getClass().isInstance(ConnectionNotFoundException.class)) { Dialog.alert(msg);
}

同样来自通话类,您只需拨打new ExceptionHandler(exception, Constants.msg)

即可

Constants.java类将保存所有错误消息。