public void printStackTrace()将此 throwable 及其追踪输出至标准错误流。此方法将此 Throwable 对象的堆栈跟踪输出至错误输出流,作为字段 System.err 的值。输出的第一行包含此对象的 toString() 方法的结果。剩余行表示以前由方法 fillInStackTrace() 记录的数据。此信息的格式取决于实现,但以下示例是最常见的:
java.lang.NullPointerException
         at MyClass.mash(MyClass.java:9)
         at MyClass.crunch(MyClass.java:6)
         at MyClass.main(MyClass.java:3)
本示例通过运行以下程序生成:
class MyClass {
     public static void main(String[] args) {
         crunch(null);
     }
     static void crunch(int[] a) {
         mash(a);
     }
     static void mash(int[] b) {
         System.out.println(b[0]);
     }
}

还有就是,

catch(Exception e){
e.printStackTrace() ;

当try语句中出现异常是时,会执行catch中的语句,java运行时系统会自动将catch括号中的Exception e 初始化,也就是实例化Exception类型的对象。e是此对象引用名称。然后e(引用)会自动调用Exception类中指定的方法,也就出现了e.printStackTrace() ;。
printStackTrace()方法的意思是:在命令行打印异常信息在程序中出错的位置及原因。(这是白话解释,比较容易理解)

关于System.out.println(e)与e.printStackTrace()

在抛出异常的情况下,有很多方法,System.out.println(e);这个方法打印出异常,并且输出在哪里出现的异常;e.printStackTrace()也是打印出异常,但是它还将显示出更深的调用信息。比如说:

A extends ---> B extends---> C

当在创建A的过程中出现问题了,我们抛出异常。<

System.out.println(e),除了标准异常外,只打印at A 然后再向外层层输出。

e.printStackTrace(),除了标准异常外,打印

at C

at B

at A

.......再向外层调查。

在向外层调查的情况下,都一样。最后都会回到com.sun.midp.main.Main.main

System.out.println();当发生异常时显示你自己设定的字符串信息;就比如下面的代码,try里面进行IO操作,你知道要抛出异常肯定也是IO异常,catch里面就写上特定的IOException,自己打印就行了

try{
//function
}
catch(IOException exc){
    System.out.println("IOException");
}
e.printStackTrace();是打印异常的堆栈信息,指明错误原因,其实当发生异常时,通常要处理异常,这是编程的好习惯,所以e.printStackTrace()可以方便你调试程序!

最新文章

  1. LabVIEW设计模式系列——资源关闭后错误处理
  2. 由fprintf和printf看C语言三种标准流
  3. 四、Mp3文件类型及其判断
  4. 【线段树求逆序数】【HDU1394】Minimum Inversion Number
  5. Nio得知3——该示范基地:多路复用器模式
  6. IOS GCD使用实例大全
  7. BZOJ 3028 食物 生成函数
  8. springboot + mybatis 前后端分离项目的搭建 适合在学习中的大学生
  9. ZKWeb网页框架1.6正式发布
  10. IntelliJ Idea中创建package的问题
  11. Oracle 12c 操作 CDB PDB
  12. 解决windows10 启动蓝屏 ntfs file system
  13. Windows下安装Redmine 2.5.2不全然指南
  14. vim 将文件从dos格式转换到unix格式
  15. CS无线电语
  16. Android Studio 无法预览布局问题:com/android/util/PropertiesMap
  17. bzoj 1123 [POI2008]BLO Tarjan求割点
  18. E. XOR and Favorite Number
  19. Google Careers 程序员必修课
  20. PHP用*隐藏中文问题

热门文章

  1. MongoDB 启动和关闭
  2. wpf 界面加载 Command
  3. 数组array的常用方法简介
  4. mysql服务无法启动(1067错误)时数据备份的经验
  5. Luogu P2052 [NOI2011]道路修建
  6. buf.writeUInt16BE()
  7. PAT 1125 Chain the Ropes
  8. layui laypage 当前页刷新问题
  9. HDU 4906 (dp胡乱搞)
  10. noip模拟赛 寻宝之后