• 17.异常(三)之 e.printStackTrace()介绍


      一、关于printStackTrace()方法

      public void printStackTrace()方法将此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()可以方便你调试程序!

    http://www.cnblogs.com/haohaoge/
  • 相关阅读:
    百度打不开
    欢迎大家来到华网科技
    可扩展消息出席协议:核心 RFC 3920
    谈网站的黏度
    手机游戏沙龙7月11日谈话记录
    基于开源软件做个和GTalk聊天的小命令行程序
    WAP网站推广
    算法的魅力
    JSP技术在WAP开发中的应用
    在J2ME实现UTF8转换为Unicode编码的方法
  • 原文地址:https://www.cnblogs.com/haohaoge/p/6549004.html
Copyright © 2020-2023  润新知