Exception 在gremlin groovy脚本中获取异常的行号或完整堆栈跟踪

Exception 在gremlin groovy脚本中获取异常的行号或完整堆栈跟踪,exception,groovy,graph-databases,gremlin,Exception,Groovy,Graph Databases,Gremlin,我有一个gremlin groovy脚本,它可以遍历一个异常嘈杂的数据库。存在许多缺少边或属性的情况。当我假设一个边缘或属性存在,并且没有抛出异常时,我得到一个非常简单的输出,如下所示: javax.script.ScriptException: java.util.IllegalFormatConversionException: d != java.lang.String 我想在脚本遇到致命异常时这样做,正如上面的一个,它提供了一个堆栈转储或至少一个行号,这样我就可以调试它发生的位置,类似

我有一个gremlin groovy脚本,它可以遍历一个异常嘈杂的数据库。存在许多缺少边或属性的情况。当我假设一个边缘或属性存在,并且没有抛出异常时,我得到一个非常简单的输出,如下所示:

javax.script.ScriptException: java.util.IllegalFormatConversionException: d != java.lang.String
我想在脚本遇到致命异常时这样做,正如上面的一个,它提供了一个堆栈转储或至少一个行号,这样我就可以调试它发生的位置,类似于java如何在致命异常上打印完整的堆栈跟踪


关于如何获得更好的转储有什么建议吗?

我建议为此使用Gremlin终端

gremlin$ ./gremlin.sh

         \,,,/
         (o o)
-----oOOo-(_)-oOOo-----
gremlin> a bad thing
No such property: bad for class: groovysh_evaluate
Display stack trace? [yN] y
groovy.lang.MissingPropertyException: No such property: bad for class: groovysh_evaluate
    at     org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:50)
如果您没有这种奢侈,例如通过REST服务器,那么您可能希望在遍历中放置一些智能的“println”

my.long.traversal.sideEffect{println 'I am here'}.is.very.long