异常中要了解的Throwable类中的几个方法
* 异常中要了解的Throwable类中的几个方法:
* public String getMessage() 获取异常的信息,返回的是字符串
* public String toString() 获取异常类名和异常信息(即简单的异常信息描述),返回的是是以下字符串的拼接:
* 此对象的类的 name(全路径名)
* ": "(冒号和一个空格)
* 调用此对象 getLocalizedMessage()方法的结果 (默认返回的是getMessage()的内容)
* public void printStackTrace() 获取异常类名和异常信息,以及异常出现在程序中的位置。返回值void。把信息输出在控制台。
* public void printStackTrace(PrintStream s) 通常用该方法将异常内容保存在日志文件中,以便查阅。
示例代码如下:
1 package cn.itcast_03; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 import java.util.Date; 6 7 /* 8 * 编译时异常和运行时异常的区别 9 * 编译期异常:Java程序必须显示处理,否则程序就会发生错误,无法通过编译。 10 * 运行期异常:无需显示处理(即抛出),也可以和编译时异常一样处理(显示处理)。 11 */ 12 public class ExceptionDemo { 13 public static void main(String[] args) { 14 // int a = 10; 15 // int b = 0; 16 // if (b != 0) { 17 // System.out.println(a / b); 18 // } 19 20 String s = "2014-11-20"; 21 // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 解析日期出问题了 22 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 23 try { 24 Date d = sdf.parse(s); 25 System.out.println(d); 26 } catch (ParseException e) { 27 // e.printStackTrace(); 28 System.out.println("解析日期出问题了"); 29 } 30 } 31 }
1 package cn.itcast_04; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 import java.util.Date; 6 7 /* 8 * 在try里面发现问题后,jvm会帮我们生成一个该异常(问题)的对象,然后把这个对象抛出,和catch里面的类型进行匹配。 9 * 如果该对象是对应catch里的某个类型,就会执行该catch里面的处理信息。 10 * 11 * 异常中要了解的Throwable类中的几个方法: 12 * public String getMessage() 获取异常的信息,返回的是字符串 13 * public String toString() 获取异常类名和异常信息(即简单的异常信息描述),返回的是是以下字符串的拼接: 14 * 此对象的类的 name(全路径名) 15 * ": "(冒号和一个空格) 16 * 调用此对象 getLocalizedMessage()方法的结果 (默认返回的是getMessage()的内容) 17 * public void printStackTrace() 获取异常类名和异常信息,以及异常出现在程序中的位置。返回值void。把信息输出在控制台。 18 * 19 * public void printStackTrace(PrintStream s) 通常用该方法将异常内容保存在日志文件中,以便查阅。 20 */ 21 public class ExceptionDemo { 22 public static void main(String[] args) { 23 String s = "2014-11-20"; 24 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 25 try { 26 Date d = sdf.parse(s); // 创建了一个ParseException对象,然后抛出去,和catch里面进行匹配 27 System.out.println(d); 28 } catch (ParseException e) { // ParseException e = new ParseException(); 29 // e.printStackTrace(); 30 31 // public String getMessage() 获取异常的信息,返回的是字符串 32 // System.out.println(e.getMessage()); // Unparseable date: "2014-11-20" 33 34 // public String toString() 获取异常类名和异常信息(即简单的异常信息描述),返回的是字符串 35 // System.out.println(e.toString()); // java.text.ParseException: Unparseable date: "2014-11-20" 36 37 // 上面的两个方法我们一般不用,因为返回的信息量太少了 38 // 一般用下面这个方法就搞定 39 // public void printStackTrace() 获取异常类名和异常信息,以及异常出现在程序中的位置。返回值void。把信息输出在控制台。 40 e.printStackTrace(); 41 // 输出结果为 42 /* 43 java.text.ParseException: Unparseable date: "2014-11-20" 44 at java.base/java.text.DateFormat.parse(DateFormat.java:388) 45 at cn.itcast_04.ExceptionDemo.main(ExceptionDemo.java:24) 46 over 47 */ 48 49 // 注意:此时学习的时候,我们将异常的将信息输出在控制台;将来实际开发中我们是跳转到某个指定的页面(index.html) 50 } 51 52 System.out.println("over"); 53 } 54 }
输出的结果为:
java.text.ParseException: Unparseable date: "2014-11-20" at java.base/java.text.DateFormat.parse(DateFormat.java:388) at cn.itcast_04.ExceptionDemo.main(ExceptionDemo.java:26) over
Copyright ©2018-2019
【转载文章务必保留出处和署名,谢谢!】
【转载文章务必保留出处和署名,谢谢!】