可能是一个新手问题,但每个人似乎都在使用e.printStackTrace()
,但System.out.println(e)
在处理异常时我一直都在使用。有什么区别,为什么更e.printStackTrace()
可取?
所使用的输出流与@Brian指出的输出流不同,但是详细程度也不相同-您可以尝试以下简单测试。输出:
With println
:您只知道抛出了什么异常
java.lang.UnsupportedOperationException:尚未实现
使用printStackTrace
:您还知道是什么原因造成的 (行号+调用堆栈)
java.lang.UnsupportedOperationException:尚未
在javaapplication27.Test1.main(Test1.java:19)
处的javaapplication27.Test1.test (Test1.java:27)实现
public static void main(String[] args){
try {
test();
} catch (UnsupportedOperationException e) {
System.out.println(e);
e.printStackTrace();
}
}
private static void test() {
throw new UnsupportedOperationException("Not yet implemented");
}
问题内容: 我有一个表,与3列:,,和。我有关于列和的索引。 我尝试了这个插入选项: 可以的。比我尝试过的一个(请参阅 Ané - e急性 ): 并且我收到此错误消息: MySQL不知何故在“ Ane”和“Ané”之间没有任何区别。我如何解决这个问题以及为什么会这样? 表学生的字符集为“ utf8”,排序规则为“ utf8_general_ci”。 以后的edit1:@Crozin: 我已更改为使
问题内容: 以下两个代码段都执行相同的操作。他们捕获每个异常并执行块中的代码 片段1- 摘要2- 两种结构到底有什么区别? 问题答案: 在第二个中,您可以访问异常对象的属性: 但是它不会捕获或系统退出异常,并且: 除了一个裸露的: 有关更多信息,请参见文档的“内置异常”部分和本教程的“错误与异常”部分。
使用有什么区别吗: 从bash手册页上可以看出,它们是相同的,唯一的区别是,从用户角度来看,第二种格式更明确。
问题内容: 我错放了太多次了,我想我一直忘记,因为我不知道两者之间的区别,只是一个给了我我期望的价值,而另一个却没有。 为什么是这样? 问题答案: 是的简写形式(尽管请注意,该表达式只会被计算一次。) 是的,即指定一元的到。 例子:
问题内容: 因此,我有一段简单的代码可以打印出整数1-10: 然后,如果仅在第3行上更改一个运算符,它将打印出无限数量的1整数(我知道为什么会这样做)。为什么在运行第二个程序时没有出现语法错误?如果赋值运算符后面跟着一个加法运算符,它不会调用语法错误吗? 问题答案: 与相同, 只是意味着。