当前位置: 首页 > 面试题库 >

e.printStackTrace和System.out.println(e)之间的区别

谷梁翰飞
2023-03-14
问题内容

可能是一个新手问题,但每个人似乎都在使用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整数(我知道为什么会这样做)。为什么在运行第二个程序时没有出现语法错误?如果赋值运算符后面跟着一个加法运算符,它不会调用语法错误吗? 问题答案: 与相同, 只是意味着。