在android简单框架中从validate中抛出自己的异常

时间:2013-05-30 14:01:24

标签: java android simple-framework

我在我的项目中使用Simple XML并遇到以下问题

源代码

@Root (name = "Test")
@Order (elements = { "UserName", .... })
public class Test
{

    @Element
    public String UserName;

    @Validate
    public void validate() throws Exception
    {
        if(UserName.length() > 10) {
            throw new Exception("User ID is invalid");
        }
    }
};

在主要代码中,我写了类似的东西

try {
     serializer.read(REQ.class, reader);
}
catch(Exception ex) {
     Log.i(TAG, ex.getMessage()); <--- HERE I GET MESSAGE: null, not the one I throws.
}

问题

看起来我无法捕获我抛出的异常,比如验证函数获取我的异常并将其替换为它自己的异常。我是对的,我可以做些什么来抛出我自己的例外?

1 个答案:

答案 0 :(得分:0)

谢谢G.Blake Meike你是对的,解决方案如下:

try {
     serializer.read(REQ.class, reader);
}
catch(Exception ex) {
     Log.i(TAG, ex.getCause().getMessage());
}