Java学习笔记-异常

异常部分

Java异常01:Error和Exception

  • 异常是指程序运行中出现的不期而遇的各种状况,如:文件找不到、网络连接失败、非法参数等。
  • 异常发生在程序运行期间,它影响了正常的程序执行步骤。
  • 要理解Jav异常处理是如何工作的,你要掌握一下三种类型的异常:
    • 检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。(就是公司里的测试岗位)
    • 运行时异常:运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。
    • 错误(Error):错误不是异常,而是程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。
  • Java把异常当做对象来处理,并定义了一个基类java.lang.Throwable作为所有异常的超类。
  • 在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error(无法预见)和异常Exception(通常可以预见)。

Untitled

Untitled

Untitled

Java异常02:捕获和抛出异常

抛出异常

捕获异常

异常处理5个关键字:try、catch、finally、throw、throws

tip:ctrl+alt+T 生成包围语句的语法

基本语法:

package com.Exception;

public class Test {
    public static void main(String[] args) {
        int a = 1;
        int b = 0;

        //假设要捕获多个异常:从小到大!

        try{//try监控区域
            System.out.println(a/b);
            //如果是Throwable 可以捕获error
            //所以参数类型意思是想要捕获的异常类型
        }catch(ArithmeticException e){//catch 捕获异常
            System.out.println("程序出现异常,变量b不能为0!");
        }/*catch(Throwable t){
            //可以catch层层递进,捕获多个异常
            //大的异常类型要写在最后面
        }*/
        finally{//善后工作  可以要可以不要  不管异常不异常都会执行
            System.out.println("finally");
        }

        //finally  假设IO,资源,关闭,就需要放在finally里面

    }
}

快捷键生成try-catch-finally:

package com.Exception;

public class Test02 {
    public static void main(String[] args) {
        int a = 1;
        int b = 0;

//        快捷键ctrl+alt+T
        try {
            System.out.println((a / b));
        } catch (Exception e) {
            e.printStackTrace();//打印错误的栈信息
        } finally {

        }

    }
}

主动抛出异常:

package com.Exception;

public class Test03 {
    public static void main(String[] args) {
        new Test03().test(1,0);
    }
    //假设这方法中,处理不了这个异常。
    public void test(int a,int b){
        if(b == 0){
            throw new ArithmeticException();//主动抛出异常,一般在方法中使用
        }
    }
}

Java异常03:自定义异常及经验小结

Untitled

Untitled

代码如下:

posted @ 2022-02-27 16:09  Maynerd  阅读(27)  评论(0编辑  收藏  举报