Android SAX实现不能抛出异常

时间:2013-11-21 01:33:11

标签: java android saxparser

我正在使用Android SAX解析器,它允许将侦听器绑定到EndTextElementListener事件,但Android提供的侦听器不允许我们抛出异常,因此例如如何在进程中停止解析器?

一些代码:

item.getChild("child").setEndTextElementListener( new EndTextElementListener() {
        @Override
        public void end(String s) {

            if( expression )
                throw new CustomException(); //Can't do this because end method don't throw SaxExceptions

        }
    });

CustomException顺便扩展了SaxException。但是听众不会抛出SaxExceptions所以有什么方法可以做到这一点吗?或者切换到拉解析器是唯一的选择吗?

1 个答案:

答案 0 :(得分:1)

如果你不关心究竟抛出什么类型的异常,那么抛出一个RuntimeException子类。编译器将允许这样做。

if( expression )
    throw new MyCustomException();
}

其中:

class MyCustomException extends RuntimeException ...