如何在androidwebview中抛出自定义java异常,并通过自定义消息在javascript中捕获它?

yc0p9oo0  于 2021-07-08  发布在  Java
关注(0)|答案(0)|浏览(246)

我在android中为webview定制了js接口。当我抛出异常时:

@android.webkit.JavascriptInterface
public void aaa() throws Exception {
    throw new Exception("aaa");
}

当我在javascript中调用它时:

try {
   MyInterface.aaa();
} catch (e) {
   alert("e is " + (typeof e) + " = " + e);
}

我得到“e is object=error:方法调用期间引发了java异常”。抛出自定义java异常时得到相同的结果:

public static class IncorrectFileNameException extends Exception {
    public IncorrectFileNameException(String errorMessage) {
        super(errorMessage);
    }
}

@android.webkit.JavascriptInterface
public String aaa() throws Exception {
    throw new IncorrectFileNameException("custom");
}

结果完全相同:“e is object=error:在方法调用期间引发了java异常”。
但在javascript中,我可以抛出自定义消息,例如抛出“banana”。是否可以为异常创建自定义文本?
问题是,现在所有的异常都完全相同,这使得很难找到错误。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题