Example usage for jdk.nashorn.internal.runtime ECMAException getThrown

List of usage examples for jdk.nashorn.internal.runtime ECMAException getThrown

Introduction

In this page you can find the example usage for jdk.nashorn.internal.runtime ECMAException getThrown.

Prototype

@Override
public Object getThrown() 

Source Link

Document

Get the thrown object

Usage

From source file:com.asual.lesscss.compiler.NashornCompiler.java

License:Apache License

private Exception parseLessException(Exception root) {
    logger.debug("Parsing LESS Exception", root);
    if (root instanceof ECMAException) {
        ECMAException e = (ECMAException) root;
        Object thrown = e.getThrown();
        String type = null;/*from  w ww. j  ava2s .  c  om*/
        String message = null;
        String filename = null;
        int line = -1;
        int column = -1;
        List<String> extractList = new ArrayList<String>();
        if (thrown instanceof ScriptObject) {
            ScriptObject so = (ScriptObject) e.getThrown();
            type = so.get("type").toString() + " Error";
            message = so.get("message").toString();
            filename = "";
            if (so.has("filename")) {
                filename = so.get("filename").toString();
            }
            if (so.has("line")) {
                line = ((Long) so.get("line")).intValue();
            }
            if (so.has("column")) {
                column = ((Double) so.get("column")).intValue();
            }
            if (so.has("extract")) {
                NativeArray extract = (NativeArray) so.get("extract");
                for (int i = 0; i < extract.size(); i++) {
                    if (extract.get(i) instanceof String) {
                        extractList.add(((String) extract.get(i)).replace("\t", " "));
                    }
                }
            }
        } else {
            type = thrown.getClass().getSimpleName() + " Error";
            message = e.getMessage().replaceFirst("[^:]+: ", "");
        }
        return new LessException(message, type, filename, line, column, extractList);
    }
    return root;
}

From source file:org.jcruncher.less.LessProcessor.java

License:Apache License

private Exception parseLessException(Exception root) {
    //logger.debug("Parsing LESS Exception", root);
    if (root instanceof ECMAException) {
        ECMAException e = (ECMAException) root;
        Object thrown = e.getThrown();
        String type = null;//from  ww  w.java  2  s.co  m
        String message = null;
        String filename = null;
        int line = -1;
        int column = -1;
        List<String> extractList = new ArrayList<String>();
        if (thrown instanceof ScriptObject) {
            ScriptObject so = (ScriptObject) e.getThrown();
            type = so.get("type").toString() + " Error";
            message = so.get("message").toString();
            filename = "";
            if (so.has("filename")) {
                filename = so.get("filename").toString();
            }
            if (so.has("line")) {
                line = ((Long) so.get("line")).intValue();
            }
            if (so.has("column")) {
                column = ((Double) so.get("column")).intValue();
            }
            if (so.has("extract")) {
                NativeArray extract = (NativeArray) so.get("extract");
                for (int i = 0; i < extract.size(); i++) {
                    if (extract.get(i) instanceof String) {
                        extractList.add(((String) extract.get(i)).replace("\t", " "));
                    }
                }
            }
        } else {
            type = thrown.getClass().getSimpleName() + " Error";
            message = e.getMessage().replaceFirst("[^:]+: ", "");
        }
        return new LessException(message, type, filename, line, column, extractList);
    }
    return root;
}