根据文档,该方法String.valueOf(Object obj)返回:
如果参数是
null,那么一个字符串等于"null"; 否则,obj.toString()返回值.
但是当我尝试这样做时怎么样:
System.out.println("String.valueOf(null) = " + String.valueOf(null));
Run Code Online (Sandbox Code Playgroud)
它会引发NPE而不是?(如果你不相信,请亲自尝试!)
Exception in thread "main" java.lang.NullPointerException
at java.lang.String.(Unknown Source)
at java.lang.String.valueOf(Unknown Source)
怎么会发生这种情况?文档对我说谎吗?这是Java中的一个主要错误吗?
我编写了一个超级简单的java类,它应该抛出异常.但是我得到的堆栈跟踪看起来像这样:
java.lang.RuntimeException: hello
at Main.go(Unknown Source)
at Main.main(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
注意:堆栈跟踪中没有行号,我希望有.
在搜索此问题时您找到的答案都是在编译时添加正确的参数,以确保行号实际上成为类文件.但是,我不相信这是我的问题,因为我在我的ant build.xml中有这个
<javac
debug="true"
debuglevel="lines,vars,source"
includeAntRuntime="false"
classpathref="classpath.compile"
srcdir="${src.dir}"
destdir="${build.classes}" />
Run Code Online (Sandbox Code Playgroud)
此外,根据javap,它看起来像行号确实成功:
$ javap -l ./build/classes/Main | head -n 9
public class Main extends java.lang.Object{
public Main();
LineNumberTable:
line 14: 0
line 22: 4
line 23: 15
line 24: 26
Run Code Online (Sandbox Code Playgroud)
什么给出了什么?当我运行代码时,是否需要在jvm中设置一个参数?
谢谢!
我想深入了解正在运行单元测试的异常的详细信息,但 HSQLDB 的堆栈跟踪部分显示为Unknown Source。我正在使用 Maven,并且已下载源代码和文档,并且可以在 IDE 中看到它们正确定义。
有什么想法为什么我仍然会看到未知来源吗?
Caused by: org.hsqldb.HsqlException: incompatible data type in operation
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.NumberSequence.setDefaults(Unknown Source)
at org.hsqldb.NumberSequence.<init>(Unknown Source)
at org.hsqldb.ParserTable.readColumnDefinitionOrNull(Unknown Source)
at org.hsqldb.ParserTable.readTableContentsSource(Unknown Source)
at org.hsqldb.ParserTable.compileCreateTableBody(Unknown Source)
at org.hsqldb.ParserTable.compileCreateTable(Unknown Source)
at org.hsqldb.ParserDDL.compileCreate(Unknown Source)
at org.hsqldb.ParserCommand.compilePart(Unknown Source)
at org.hsqldb.ParserCommand.compileStatements(Unknown Source)
at org.hsqldb.Session.executeDirectStatement(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
Run Code Online (Sandbox Code Playgroud)