e.printStackTrace()

   当我们写的语句可能触发异常时,eclipse就会提示我们用捕获异常语句try……catch包围它,java运行时系统会自动将catch括号中的Exception e 初始化,也就是实例化Exception类型的对象,e是此对象引用名称。然后e(引用)会自动调用Exception类中指定的方法,也就出现了e.printStackTrace()。当然,我们也可以用System语句输出,那么这两个语句有什么区别呢?

1、两个输出语句都能输出,System语句可以提示你异常发生的位置;但e.printStackTrace()可以显示更深的调用关系。例如:程序中有继承的关系, Rose extends Flower ; Flower extends Plant;假如我们在创建 Rose 的时候发生异常,那么System语句就会输出异常 at Rose ,然后向外层输出。e.printStackTrace()输出除了标准异常外,打印 

at   Plant

at   Flower

at   Rose

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

再向外层调查的情况下,都一样

2、System.out.println();当发生异常时显示你自己设定的字符串信息;e.printStackTrace();是打印异常的堆栈信息,指明错误原因。

note:其实当发生异常时,通常要处理异常,这是编程的好习惯,所以e.printStackTrace()可以方便你调试程序!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值