Java异常总结

1、异常的定义

定义:异常又称例外,是程序执行过程中发生的事件,它会终止程序的正常执行。

2、异常的分类

Error:是JVM内部产生的,不需要程序员去解决,是不受检查异常,非代码性错误 Exception:是用户程序可能出现的异常,它是用来创建自定义异常类的类
RuntimeException:运行时异常,程序运行期间产生的异常,编译时不会出现问题,解决方案:专业的异常处理方案|提高代码的健壮性
CheckedException:检测时|编译时异常,由于程序编写不符合基本语法规范导致的编译时产生的错误。

顶级父类


Error

Exception

常见运行时异常:

  • 数组下标越界
  • 空指针异常
  • 数学异常
  • 类型转换异常

3、异常的处理

异常抛出
    使用关键字`throws`,将异常从方法内部抛到方法外部由调用它的上层方法去处理,当然上层方法也可以继续抛出,但最后也只能到`main方法`就必须要处理。

异常捕获
    在产生异常的地方就地捕获直接处理,使用`try-catch`结构,其中catch中包含的是对异常的处理方法,但是由于在异常种类中存在继承关系,所以就有了异常的的范围,Java语言规范要求低范围的catch放在高范围的catch的前面。

4、自定义异常

自定义异常是根据编程需求编写需要的自定义异常类,必须得继承Exception类。

实例代码

要求:从键盘输入一个整形数n,如果输入正确的话,输出10-n后的值,如果输入错误的话输出“not int”,
如果输入的不是整数,则抛出异常类:InputMismatchException。

自定义异常类(InputMismatchException.java)

public class InputMismatchException extends Exception{
    public InputMismatchException(){

    }

    public InputMismatchException(String message){
        super(message);	//调用父类构造方法
    }
}

测试代码(PrintInteger.java)

import java.util.Scanner;

public class PrintInteger {


    /*
    * 判断该数是否为10-n之间
    * */
    public static void isNumber(double n) throws InputMismatchException{
        if(n%1==0){
            System.out.println("10-"+n+"="+(10-n));
        }else{
            throw new InputMismatchException("not int");	//制造异常
        }
    }

    //主函数
    public static void main(String[] args) {
        System.out.print("请输入一个数:");
        Scanner scan=new Scanner(System.in);
        double n= scan.nextDouble();

        try {
            isNumber(n);
        } catch (InputMismatchException e) {
            e.printStackTrace();
        }

    }
}

在这里插入图片描述

致谢

希望笔者的总结能给大家带来一些帮助,由于笔者水平有限还望大神对本人的错误加以指出。对于大家的问题也可以在文末留言,大家可以一起交流学习。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值