Java异常处理

Java异常处理

1、异常的定义

程序错误可分为三种:1.编译错误;2.运行时错误;3.逻辑错误。
(1)编译错误是因为程序没有遵循语法规则,
(2)运行时错误是因为程序在执行时,运行环境发现了不能执行的操作。
(3)逻辑错误是因为程序没有按照预期的逻辑顺序执行。异常也就是指程序运行时发生错误,而异常处理就是对这些错误进行处理和控制。

2、异常的结构

throwable 是所有异常的共同祖先,其有两个比较常见的子类,Exception(异常)和 Error(错误),两个子类各自又包含了大量的子类。

异常和错误的区别是:异常能被程序本身可以处理,错误是无法处理。

在这里插入图片描述

3、异常处理的分类

Java应用处理程序中,异常处理机制为抛出异常(会创建异常对象【包含异常类型,异常出现的程序状态等】),捕获异常【寻找相关的处理器进行处理,找不到对应的程序就停止了】

对于Java而言,对于运行时异常,错误或可排查异常,Java技术要求的异常处理方式有所不同,它规定:1.对于可查异常必须捕捉,或者声明抛出;2.允许忽略不可查的RuntimeException(含子类)和Error(含子类)。

通过5个关键字来实现:try,catch,finally,throw,throws

在这里插入图片描述
举例说明;

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("=运算开始=");
try {
Scanner s = new Scanner(System.in);
System.out.print(“请输入第一个数:”);
int one = s.nextInt();
System.out.print(“请输入第二个数:”);
int two = s.nextInt();
System.out.println(“两数之差是:” + one / two);
}
catch(ArithmeticException e){
System.out.println(“除数不能不0”);
e.printStackTrace();

}
catch (InputMismatchException e){
    System.out.println("请输入整数");
    e.printStackTrace();

}
catch (Exception e) {
    System.out.println("其他错误");
    // 打印异常信息
    e.printStackTrace();
} finally {
    System.out.println("===运算结束===");
}

4、throw的用法

throws

throws语句用在方法定义时s声明该方法要抛出的异常类型;

当方法抛出异常列表中的异常时,方法将不对这些类型及其子类类型的异常作处理,而抛向调用该方法的方法,由它去处理。

2.throw:

throw抛出的只能是可抛出类Throwable或者其子类的实例对象。

当子类重写父类抛出异常的方法时,声明的异常必须是父类方法所声明异常的同类或子类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值