Java基础笔记39——异常处理

异常的定义:

运行期间出现的错误,而不是编译时的语法错误


异常的分类:

Throwable:异常最大的父类
(1)Error:严重级别错误,一般不使用代码解决,例如堆栈溢出、内存溢出、虚拟机错误
(2)Exception
运行时异常(非检查性异常):一般由于程序员经验不足导致,属于bug,可以通过优化代码处理,一般不需要使用异常处理机制来解决,例如算数异常、数组下标越界、空指针异常等
非运行时异常(检查性异常):通常由于外界原因导致,编译器会进行检查,且提示,必须进行处理,例如文件找不到、数据库连接中断等

 

例子:

package com.lqh.chapter06;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;

public class _38check {
    //非运行时异常(检查性异常)
    public static void check() {
        try {
            FileInputStream input = new FileInputStream(new File("你好.txt"));
        } catch (FileNotFoundException e) {
            System.out.println("你的文件<你好.txt>找不到");
        }
    }
    
    //运行时异常(非检查性异常)
    private static void uncheck() {
        int[] list = new int[] {1,2,3,4,5};
        for (int i = 0; i <= list.length; i++) {
            System.out.println(list[i]);
        }
    }
    public static void main(String[] args) {
        //非运行时异常(检查性异常)
        check();
        
        //运行时异常(非检查性异常)
        uncheck();
    }
}

 

输出结果:

你的文件<你好.txt>找不到
1
2
3
4
5
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5
at com.lqh.chapter06._38check.uncheck(_38check.java:21)
at com.lqh.chapter06._38check.main(_38check.java:29)

posted @ 2021-09-17 20:03  `青红造了个白`  阅读(43)  评论(0)    收藏  举报