异常对象有两个非常重要的方法案例:
package com.javase.Exception; /* 异常对象有两个非常重要的方法: 获取异常简单的描述信息: String msg = exception.getMessage(); 打印异常追踪的堆栈信息: exception.printStackTrace(); */ public class ExceptionTest08 { public static void main(String[] args) { // 这里只是为了测试getMessage()方法和printStackTrace()方法。 // 这里只是new了异常对象,但是没有将异常对象抛出。JVM会认为这是一个普通的java对象。 NullPointerException e = new NullPointerException("空指针异常SSSSSS"); // 获取异常简单描述信息:这个信息实际上就是构造方法上面的String参数。 String msg = e.getMessage(); System.out.println(msg); // 打印异常堆栈信息。 // java后台答应异常堆栈追踪信息的时候,采用了异步线程的方式打印的。 e.printStackTrace(); System.out.println("Hello World!"); } }
异常的两个重要方法案例:
package com.javase.Exception; import java.io.FileInputStream; import java.io.FileNotFoundException; /* 异常对象有两个非常重要的方法: 获取异常简单的描述信息: String msg = exception.getMessage(); 打印异常追踪的堆栈信息: exception.printStackTrace();// 一般使用这个。 我们以后查看异常的追踪信息,我们应该怎么看?可以快速的调试程序呢? 异常信息追踪信息,从上往下一行一行看。 但是需要注意的是:SUN写的代码就不用看了(看包名就知道自己写的还是SUN写的)。主要的问题是出现在自己编写的代码上。 */ public class ExceptionTest09 { public static void main(String[] args) { try { m1(); } catch (FileNotFoundException e) { // 获取异常的简单描述信息 String msg = e.getMessage(); System.out.println(msg); // 打印异常堆栈追踪信息 // 在实际的开发中,建议使用这个,养成好习惯! // 这行代码要写上,不然出问题你也不知道。 e.printStackTrace(); /* java.io.FileNotFoundException: D:\Users\xlWu\Desktop\学习\异常\笔记.txt (系统找不到指定的路径。) at java.base/java.io.FileInputStream.open0(Native Method) at java.base/java.io.FileInputStream.open(FileInputStream.java:213) at java.base/java.io.FileInputStream.<init>(FileInputStream.java:155) at java.base/java.io.FileInputStream.<init>(FileInputStream.java:110) at com.javase.Exception.ExceptionTest09.m3(ExceptionTest09.java:26) at com.javase.Exception.ExceptionTest09.m2(ExceptionTest09.java:22) at com.javase.Exception.ExceptionTest09.m1(ExceptionTest09.java:18) at com.javase.Exception.ExceptionTest09.main(ExceptionTest09.java:9) 因为26行出问题导致了22行出问题 22行出问题导致了18行出问题 18行出问题导致9行出了问题 应该先查看26行的代码,26行是代码错误的根源。 */ } // 这里程序不耽误执行,很健壮。(服务器不会因为遇到异常而宕机) System.out.println("Hello World!"); } public static void m1() throws FileNotFoundException { m2(); } private static void m2() throws FileNotFoundException { m3(); } private static void m3() throws FileNotFoundException { new FileInputStream("D:\\Users\\xlWu\\Desktop\\学习\\异常\\笔记.txt"); } }
原文:https://www.cnblogs.com/xlwu/p/13257938.html