java基础学习05(java中的异常类)

java基础学习05(java中的异常类)

1-java异常的分类
1.1-Throwable

Throwable类是java中的顶级异常类,其它所有异常都是直接或间接继承了Throwable类。所有异常都是可抛出的。

  • Exception(异常)

    • 编译时异常(也叫 受检异常,受控异常)

      Exception 除RuntimeException的其它直接子类,编译时异常是需要我们进行处理的

      编译时异常,程序发生异常的的概率较高,java规定必须对异常进行处理,才允许编译通过

    • RuntimeException(运行时异常,也叫 未受检异常,非受控异常)

      运行时异常,不需要进行处理

      运行时异常,发生的概率低,可以不做处理

  • Error

    java程序运行过程中发生错误,无法处理,只能退出。如:StackOverflowError

2-异常的处理(方法一)
  • 使用 try {}catch(异常类型 变量名){} ,对异常进行捕捉

    • 将可能产生异常的代码块放到try块里面

    • 将可能产生的异常的类型放到catch 小括号中

    • 如果不产生异常,不会执行catch的代码,如果产生异常,则try块异常之后的代码都不执行了,直接去执行catch代码

    • 可一次捕获多个异常,直接在后面加catch

    • 捕获异常都是在内部捕获

  • try{} catch(异常类型 变量名){}finally{}

    • 可配合finally一起使用,finally代码块中的代码,不管有没有异常都会执行,所以可以把释放资源类的操作放到finally中执行
3-异常的处理(方法二)
  • 使用throw 关键字,在类定义的时候抛出异常
    • 使用了throw关键字,类的内部不再提示需要捕获异常,如果产生异常,都会抛给java虚拟机
    • 在声明抛出异常时,不要直接声明最大的异常,可能会影响异常的排查
    • 使用了throws关键字,抛出的异常对象,不应该使用捕捉异常的方式,应该直接往外抛出
4-定义自己的异常类

java中的异常通常是不够用的,因此往往需要根据实际场景自己定义异常类

  • 步骤一:自定义一个类,继承sun公司写的异常类

  • 步骤二:创建一个无参构造方法

  • 步骤三:创建一个有参构造方法

  • 步骤四:在需要使用异常的地方,抛出自定义的异常对象

    //创建异常类,继承异常对象
    public class MyException extends Exception{
        //创建无参构造方法
        public MyException(){
            
        }
        //创建有参构造方法
        public MyException(String message){
            super(message);
        }
    }
    
    //使用异常类
    public class TestMyException throw MyException{
        public static void main(String[] args){
            System.out.println("请输入长度4-8的内容");
            String str = new Scanner(System.in).nextLine();
            if(str.length()<4||str.length()<8){
                //抛出异常
               throws new MyException("输入长度小于4位或者大于8位");
            }
        }
        
      
    }
    
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值