gpt4 book ai didi

java - 从堆栈跟踪 : "MyClass.java:1" 中的第一行调用方法

转载 作者:行者123 更新时间:2023-11-30 06:36:02 26 4
gpt4 key购买 nike

在我的项目中,我使用 log4j 来记录错误和许多框架:AOP、spring 等。

当我在堆栈跟踪中发现调用在第一行时,这意味着什么,例如:

com.foo.bar.MyException: Error
at com.foo.bar.MyClass.handleException(MyClass.java:92)
at com.foo.bar.MyClass.myMethod(MyClass.java:76)
at com.foo.bar.MyClass.myMethod(MyClass.java:1) // <- here ???
...

在第一行,我的类是注释,所有内容都已正确编译

MyClass.java:

/* Copyright 2011 */
package com.foo.bar;

import ...

public class MyClass implements MyInterface {...

最佳答案

我在调试期间也看到过这种现象 - 进入一个方法有时会首先跳转到声明的类的第一行,然后实际的方法。在无法为您提供引用的情况下,我认为这与在某些情况下重写方法的分派(dispatch)有关(协变返回类型至少是一种)。在这些情况下,编译器需要插入一个在“真实”方法之前调用的合成桥接方法,我的猜测是该方法的有效行号为 1。

无论如何,我认为您无需担心 - 如您所见,您自己的 myMethod 实现随后立即在第 76 行成功调用。

关于java - 从堆栈跟踪 : "MyClass.java:1" 中的第一行调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5258943/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com