如何在离子应用程序(cordova / phonegap)中完成异常堆栈跟踪而不是单行?

时间:2014-11-30 13:58:29

标签: android exception cordova ionic-framework

由于我不知道问题出在哪里,这个问题可能不是关于离子的,而是关于cordova / phonegap的更多信息。我已经很长时间没有做过phonegap dev了,所以我不记得这是正常/预期的行为,还是我错过了什么。

我在logcat中遇到这种错误:

11-30 14:39:28.592  16782-16836/com.ionicframework.myproject E/MyProject﹕ Exception: java.lang.NullPointerException

实际上就是这样......我的应用程序中生成的所有异常似乎都以某种方式被截断。我尝试显示消息或异常,结果是相同的......

生成异常的代码在我的插件中,我知道它的来源,但我可以提供参考:

 @Override
    public boolean execute(String action, JSONArray jsonArray, CallbackContext callbackContext) throws JSONException {
        try {
            JSONObject visible = jsonArray.getJSONObject(0);
            toggleVisibility(visible.getBoolean("visible"), visible.getInt("duration"));
            callbackContext.success();
            return true;
        } catch(Exception e) {
            Log.e(TAG, "Exception: " + e);
            callbackContext.error(e.getMessage());
            return false;
        }

关于这一点的任何提示?

THX

1 个答案:

答案 0 :(得分:1)

实际上,printStackTrace由于某种原因在这里不起作用。这里的问题是从Android中错误地使用了Log类。

这不会打印堆栈跟踪:

Log.e(TAG, "Exception: " + e);

这将打印完整的堆栈跟踪:

Log.e(TAG, "Exception: ", e);