加载中...

Java的异常Exception

概念:执行过程中出现的不正常称为异常 (语法错误 和 逻辑错误 不是异常)

异常处理两种方法

用法try{} catch(Exception e){} finally{}

解释:

  1. try检查有异常的代码, 无异常执行{}内代码

  2. 将异常封装成 e对象,传递给catch,程序员在{}里写代码 , try有异常停止代码,执行catch{}里的代码,try无异常不执行catch

  3. finally{},无论上面有无异常都执行finally,是释放资源、断开SQL等操作用的

注意:
1)可以有多个catch(){}, 括号里最后必须是 Exception e, 前面可以是其他如(NullPointerException e)...
2)可以try{} finally{}两个搭配,但是该报错还是报错
3)try{},catch(Exception e){return 333;}finally{i++}, 有return在前面必须先执行 finally{}后,再retrun
4)可以用try-catch做重复提示逻辑,看下面代码

package com.company.test.test;
import java.util.Scanner;

public class Try_ {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int num;
        while (true) {
            System.out.println("请输入一个整数:"); //
            try {
                num = Integer.parseInt(scanner.next()); //这里是可能抛出异常
                break;
            } catch (NumberFormatException e) {
                System.out.println("你输入的不是一个整数:");
            }
        }
        System.out.println("你输入的值是=" + num);
    }
}

throws (第二种处理异常方式)

注意
1)★ 处理 运行异常runtimeException时,默认是有throws异常处理的,不需要手动添加

2)★ 处理 编译异常时,必须手动添加 throws FileNotFoundException 在异常的局部位置上(方法后面)

3)★ 遇到编译异常,必须try throws 二选一

4)重写override, 子类的添加的throws FOU...必须与父类相同或者是 它的子类异常

throws 意思就是让调用它方法的 上一级解决异常(大意:推卸责任),如果一直不用try处理,直到jvm上直接给报错

自定义报错

处理throwable上没有涉及的异常,自己定义异常class

步骤:

throw 和 throws区别

  • throws 是处理异常的第二种方法
  • throw 是主动制作异常的手段,方法如下
posted @ 2023-05-18 16:36  1502god  阅读(28)  评论(0)    收藏  举报
-->