cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Kotikov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-11786) Callstack is not logged in js console log when exception happens in bridge call
Date Wed, 31 Aug 2016 12:31:20 GMT

    [ https://issues.apache.org/jira/browse/CB-11786?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15452103#comment-15452103
] 

Vladimir Kotikov commented on CB-11786:
---------------------------------------

Oops, didn't notice that thread, sorry :)

> Callstack is not logged in js console log when exception happens in bridge call  
> ---------------------------------------------------------------------------------
>
>                 Key: CB-11786
>                 URL: https://issues.apache.org/jira/browse/CB-11786
>             Project: Apache Cordova
>          Issue Type: Improvement
>      Security Level: Public(Anyone can view this level - this is the default.) 
>          Components: CordovaJS
>    Affects Versions: 6.1.1
>         Environment: all platform
>            Reporter: Jonathan Li
>              Labels: question, triaged
>
> In cordova.js, callbackFromNative method, when handles the exception, it
> only logs the callbackid and error message, but does not log the error
> callstack. Usually the callstack is quite useful to find what causes the
> exception, so just wonder what is the reason to not include it in the error
> console log.
> If it is fine to include the call stack information in the console log, I
> would like to submit a pull request for the change.
> {code:javascript}
>    /**
>       * Called by native code when returning the result from an action.
>       */
>      callbackFromNative: function(callbackId, isSuccess, status, args, keepCallback)
{
>          try {
>              var callback = cordova.callbacks[callbackId];
>              if (callback) {
>                  if (isSuccess && status == cordova.callbackStatus.OK) {
>                      callback.success && callback.success.apply(null, args);
>                  } else if (!isSuccess) {
>                      callback.fail && callback.fail.apply(null, args);
>                  }
>                  /*
>                  else
>                      Note, this case is intentionally not caught.
>                      this can happen if isSuccess is true, but callbackStatus is NO_RESULT
>                      which is used to remove a callback from the list without calling
the callbacks
>                      typically keepCallback is false in this case
>                  */
>                  // Clear callback if not expecting any more results
>                  if (!keepCallback) {
>                      delete cordova.callbacks[callbackId];
>                  }
>              }
>          }
>          catch (err) {
>              var msg = "Error in " + (isSuccess ? "Success" : "Error") + " callbackId:
" + callbackId + " : " + err;
>              console && console.log && console.log(msg);
>              cordova.fireWindowEvent("cordovacallbackerror", { 'message': msg });
>              throw err;
>          }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org


Mime
View raw message