package com.tns;
public class NativeScriptException extends RuntimeException {
@SuppressWarnings("unused")
private long jsValueAddress = 0;
public NativeScriptException() {
super();
}
public NativeScriptException(String detailMessage) {
super(detailMessage);
}
public NativeScriptException(Throwable throwable) {
super(throwable);
}
public NativeScriptException(String detailMessage, Throwable throwable) {
super(detailMessage, throwable);
}
public NativeScriptException(String detailMessage, long jsValueAddress) {
super(detailMessage);
this.jsValueAddress = jsValueAddress;
}
@RuntimeCallable
public static String getStackTraceAsString(Throwable ex) {
String errMessage;
try {
errMessage = ex.toString();
for (StackTraceElement frame: ex.getStackTrace()) {
errMessage += "\n ";
errMessage += frame;
}
Throwable cause = ex.getCause();
if (cause != null) {
errMessage += "\nCaused by: ";
errMessage += getStackTraceAsString(cause);
}
} catch (Throwable err) {
errMessage = "Unknown error. Cannot get error message.";
}
return errMessage;
}
}