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)


浙公网安备 33010602011771号