itinance/react-native-fs

Poor/empty exception messages on Android

Offen

#63 geöffnet am 19.03.2016

 (0 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)C++ (1.012 Forks)batch import
help wanted

Repository-Metriken

Stars
 (5.043 Sterne)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

I struggled to fix the download correctness issue in PR #62 due to the JS error messages being empty on Android. (We were just getting an empty Error object.)

Ideally JS errors and/or logging should provide information from the Java exception. As a quick hack, the below change to RNFSManager.java helped a lot. It turned out to be an HTTP 404 error and was easy to fix after knowing the issue.

I'm not submitting this as a pull request just yet because I suspect react-native may already provide a built-in Exception-to-JS-Error conversion utility function - any thoughts from RN Android devs?

private WritableMap makeErrorPayload(Exception ex) { WritableMap error = Arguments.createMap();

// https://stackoverflow.com/questions/7242596/e-printstacktrace-in-string
Writer writer = new StringWriter();
PrintWriter printWriter = new PrintWriter(writer);
ex.printStackTrace(printWriter);
String s = writer.toString();

//error.putString("message", ex.getMessage());
error.putString("message", s);
// TODO: Consolidate and move ex.printStackTrace() here?

return error;

}

Contributor Guide