zoukankan      html  css  js  c++  java
  • Java异常之初认识二

     1 public class Demo13{
     2     
     3     
     4     /*Java规定:
     5         1.必须捕获的异常,包括Exception及其子类,但不包括RuntimeException及其子类,这种类型的异常称为Checked Exception。
     6 
     7         2.不需要捕获的异常,包括Error及其子类,RuntimeException及其子类。
     8     */
     9     public static void main(String[] args) {
    10         try{
    11             process1();
    12         }catch(Exception e){
    13             //main()中捕获IllegalArgumentException,我们看看打印的异常栈
    14             e.printStackTrace();
    15             //注意到Caused by: Xxx,说明捕获的IllegalArgumentException并不是造成问题的根源,根源在于NullPointerException,是在Main.process2()方法抛出的。
    16         }
    17         
    18     }
    19     
    20     //当process2()抛出NullPointerException后,被process1()捕获,然后抛出IllegalArgumentException()
    21     
    22     static void process1(){
    23         try{
    24             process2();
    25         }catch(NullPointerException e){
    26             //如果一个方法捕获了某个异常后,又在catch子句中抛出新的异常,就相当于把抛出的异常类型“转换”了:
    27             //为了能追踪到完整的异常栈,在构造异常的时候,把原始的NullPointerException实例传进去,新的IllegalArgumentException就可以持有原始NullPointerException信息
             //捕获到异常并再次抛出时,一定要留住原始异常,否则很难定位第一案发现场!
    28 throw new IllegalArgumentException(e); 29 } 30 } 31 32 33 static void process2(){ 34 throw new NullPointerException(); 35 } 36 37 }

  • 相关阅读:
    今发现“最全前端资源汇集”,果断收藏
    js基础
    重排版与重绘
    小乌龟的配置
    考试网站
    苹果手机上时间的兼容
    自定义alert
    [概率dp] 流浪地球
    [权值线段树] 1163B2 Cat Party (Hard Edition)
    [单调栈]1156E Special Segments of Permutation
  • 原文地址:https://www.cnblogs.com/zui-ai-java/p/14201272.html
Copyright © 2011-2022 走看看