# java基础复习

> 来源：梦飞idc云平台 | 原文：https://www.mfisp.com/21824.html | 发布：2023-07-05 | 更新：2023-07-05 | 分类：建站教程

二、异常处理  
1、理解异常

 

程序在运行过程中出现的问题称为异常（Exception），出现异常时的处理叫异常处理

 

JAVA的异常分为：

 

Error：java应用程序本身无法恢复的严重错误，程序不需要捕获、处理这些严重错误  
 Exception：java程序抛出和处理的非严重异常，分为运行时异常（RuntimeException）和检查异常（CheckException），也称非运行时异常

 

所有的异常都继承至java.lang.Throwable类  
Throwable  
 ---- Error  
 ---- Exception   
 ---- RuntimeException  
 ---- CheckException

 

2、Exception

 

需要程序员处理的，如果此类异常被捕获，程序在运行时是不会崩溃的，如果没有捕获（不做异常处理），可能导致整个程序运行崩溃

 

Exception异常分为2类：

 

运行时异常：正常编译，但程序运行时出的问题，又称为非检查异常  
 检查异常：此异常是在编写代码时就会以红色波浪线提示，需要做异常处理，又称非运行时异常

 

常见的运行时异常：  
java.lang.ArrayIndexOutOfBoundsException：数组的下标越界异常  
java.lang.ArithmeticException：数学运算异常  
java.lang.NullPointerException：空指针异常  
java.lang.ClassCastException：类型转换异常  
java.lang.NumberFormatException：数字格式化异常  
java.util.InputMismatchException：输出信息类型不匹配异常

 

常见的检查异常：

 

java.io.FileNotFoundException：文件找不到异常   
java.io.IOException：输入输出异常  
java.lang.NoSuchMethodException：方法未找到异常

 

java.io.FileNotFoundException：文件找不到异常   
java.io.IOException：输入输出异常  
java.lang.NoSuchMethodException：方法未找到异常

 

### 3、异常处理

 

异常处理的三种结构：

 

try{  
 //可能出现异常语句块  
}catch(SomeException e){// 特指某些特定的异常  
 //当捕获到SomeException类型的异常时执行的语句块，通常是打印该异常信息  
}

 

catch语句可以多个，但如果是Exception类型来捕获，必须为最后一个catch

 

如果try语句块中的代码没有异常，则try语句块执行完毕后，catch中的语句块不执行；如果try语句块有异常，则try语句块中发生异常之后的代码不执行，而由相应的catch语句进行捕获，catch中的代码会执行

 

try…catch…finally  
try {  
 //可能抛出异常的语句块  
}catch(SomeException e){  
 //当捕获到异常时运行的语句块  
}finally {  
 //不管是否发生异常都会执行的语句块  
}

---
本页由 梦飞idc云平台（https://www.mfisp.com）提供。站点导航见 https://www.mfisp.com/llms.txt
