javascript - 如果在执行 native java API 时抛出任何异常,如何在 JavaScript 中处理异常

标签 javascript android cordova java-native-interface phonegap-plugins

我正在 Android 上使用 Phonegap 构建一个混合应用程序,他们是我使用 Android WebView 从 JavaScript 调用 java API 的场景。

如果在执行 Java Native API 时发生任何异常,我想在 JavaScript 中捕获异常。当我执行它时它工作但是当 Java native 代码抛出异常时应用程序崩溃并在日志中给出以下异常

05-06 21:28:03.230: W/dalvikvm(705): JNI WARNING: JNI method called with exception raised

05-06 21:28:03.239: E/dalvikvm(705): VM aborting

Java native 代码:

public Object callNative() throws Exception {
    throw new Exception("Exception Occured");
}

JavaScript 代码:

try {
   window.callNative();
} catch(e) {
    // Exception Caught
}

最佳答案

我不相信你是从 JavaScript 调用你想要的方法:

window.callNative("STRING PARAMETER VALUE");

根据您的示例,您正在调用一个不同的、可能未声明的方法:

window.callNative();

更改您的代码以调用我在第一个代码块中提供的方法。

关于javascript - 如果在执行 native java API 时抛出任何异常,如何在 JavaScript 中处理异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16402921/

相关文章:

javascript - Fabric.js - 对象不更新缓存位置?

java - 是否可以在 android 中合并未知数量的 firestore 查询?

java - Android:以编程方式在新 Activity 中创建线性布局

ios - PhoneGap 地理定位在 iOS10 中被阻止

Android PlayStore 警告您的应用目前以 API 级别 25 为目标

javascript - 多次显示同一图像。使用 JQuery 一次只更改一个

javascript - 需要背景声音+播放一次

javascript - 如何将时间转换为所需的时区

java - PreferenceScreen 中的 ColorAccent 在 API <=22 中无法正常工作

android - 使用 phonegap 从相机或图库中选择图像