异常

---恢复内容开始---

Try-Catch部分

2.e.PrintStackTrace():返回的是异常的堆栈信息,从上到下依次是产生异常的过程,以后大家看堆栈错误信息时,推荐从下往上看,依次分析,另外,咱们今天要讲常见的异常子类,到时候大家也可以通过该知识作为排错的依据。

3.e.getMessage():用来打印异常信息的字符串表示。

4.常见的异常

 

5.使用Ctrl+T:查看该类的继承结构(即实现类)

Try-catch-finally部分(有return的异常结构)

01.如果在catach块中,显示的调用了System.exit(1),那么finally块不再执行。

02.return出现在异常结构中执行次数和结果

多重catch部分(多路异常捕获)

 多重catch要注释顺序,从子类异常向顶级异常Exception过渡。

面试题:try-catch块中存在return语句,是否还执行finally块,如果执行,说出执行顺序

解析:会执行,执行顺序是

Try

Catch

Finally

Return

重要:如果catchreturn后跟的是常量,那么先执行finally,再执行Catch中的return

如果Catchreturn后跟的是变量,那么先执行return,然后走finally,再次回到return执行。

public static void main(String[] args) {

System.out.println(test());  

   }

   @SuppressWarnings("finally")

static int test(){

   //第一个异常案例

   try {

   System.out.println("请输入第一个操作数");

   Scanner input=new Scanner(System.in);

   int num1 = input.nextInt();

       System.out.println("请输入第二个操作数");

   int num2 = input.nextInt();

         //计算结果

   int result=num1/num2;

   return 100;

} catch (Exception e) {

    // e.printStackTrace();

     System.out.println("------------------------");

     System.out.println(e.getMessage());

  //   System.exit(1);//虚拟机非正常退出

     return 1;

     

}finally{

System.out.println("我是高贵的finally");

return 2;

}

   }

 //解析:输出结果是2,最终返回的是finally中的值。

声明异常

throws

IO

数据库处理

抛出异常 

Throw  new  Exception()

异常分类图

---恢复内容结束---

原文地址:https://www.cnblogs.com/yangronglin/p/5549823.html