小编Phi*_*ret的帖子

如何在Java堆栈跟踪中获取行的列号

在某些语言中,可以在堆栈跟踪中获取行的列号,但在Java中,我们只有行号.

举个例子,我们可以用另一种语言:

Error
    at <anonymous>:2:2
    at Object.InjectedScript._evaluateOn (<anonymous>:641:39)
    at Object.InjectedScript._evaluateAndWrap (<anonymous>:580:52)
    at Object.InjectedScript.evaluate (<anonymous>:495:21)"
Run Code Online (Sandbox Code Playgroud)

虽然这可能是一个糟糕的例子,因为我从浏览器控制台导致错误,您可以看到列号,这对解决错误非常有帮助.

给你一个Java示例(是的,名称已更改):

Caused by: java.lang.IllegalArgumentException: path was null
    at org.jboss.resteasy.specimpl.ResteasyUriBuilder.path(ResteasyUriBuilder.java:362)
    at enterprise.money.service(AbstractSomething.java:88)
Run Code Online (Sandbox Code Playgroud)

这导致88包含的线

URI uri = uriInfo.getBaseUriBuilder().path(objectA).path(objectB).build();

随着堆栈跟踪我有我无法检查哪个.path调用导致异常.所以我的问题是,是否有任何解决方案可以让我获得该列的参考?

(为了防范一些可能的替代答案,我们需要一个解决方案来获取列号,其他答案,如如何单步执行调试器或重构每个构建器模式等,将无法回答问题)

java stack-trace

6
推荐指数
1
解决办法
1116
查看次数

关于jQuery实时点击事件的错误event.target

当我使用以下内容注册click事件的处理程序时:

$('.drilldown-action > li').live('click', function(event){
    drilldown.loadActions($(event.target));
});
Run Code Online (Sandbox Code Playgroud)

使用HTML:

<ul class="drilldown-action">
    <li data-action="Dummy"><a href="#">Dummy</a> Dum</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

在浏览器中(使用Chrome)我点击a标签,我如何获得事件已注册的jQuery对象?我希望li元素是事件目标,因为这是我放在选择器中.我知道我可以使用.parent()这种情况,但有没有办法让对象与选择器匹配,而不是底部事件目标?使用.parent()也是一种痛苦,因为当li点击其他部分时,我不需要使用它.

jquery

2
推荐指数
1
解决办法
3692
查看次数

标签 统计

java ×1

jquery ×1

stack-trace ×1