catch里面的e.printStackTrace(); 到底有什么用 为什么要这样写 真不明白!

来源:1-3 Java中通过案例学习 try...catch...finally

PG_one

2017-10-17 13:54

    public int test() {

    int divider=10;

        int result=100;

     try {

    while(divider>-1) { 

    divider--;

    result=result+100/divider;

    }

    return result;

     }catch(Exception e) {

    e.printStackTrace();  

       System.out.println("循环抛出异常了!!!");

            return -1;

     }

   

      }


写回答 关注

3回答

  • 捡了幸福的猪
    2017-10-17 15:32:03
    已采纳

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

    PG_one

    非常感谢!终于明白点了

    2017-10-17 15:59:28

    共 1 条回复 >

  • qq_浅时光_15
    2018-05-22 11:38:13

    大V俺的沙发不懂

  • 捡了幸福的猪
    2017-10-17 15:30:19

    将此 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)

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题