1

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

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

那我该怎么办?

4

1 回答 1

2

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

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

同样来自调用类,您只需调用new ExceptionHandler(exception, Constants.msg)

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

于 2012-09-20T11:47:11.323 回答