Java基础-----异常机制
文章目录
一、异常机制
比如我们工作中需要拷贝文件?
那么拷贝文件的时候可能出现文件不存在的问题、可能出现内存被占满的情况 ,可能存在其他问题
这个是时候使用判断语句会非常麻烦(这个时候异常起到的作用就非常大了) 只要是出错误了就声明异常就行
1.1、异常机制的本质
1.2、异常的概念
1.3、异常分类
1.3.1、Exception类
1.3.1.1、CheckedException类
1.3.2、Error类
二、异常的处理
2.1、try-catch-finally
注意:当try语句块的某一个位置出现异常直接跳到catch语句中,捕获异常后不会在执行try里面语句了
2.2、执行顺序
package wr.oyc.exception;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class Main {
public static void main(String[] args) throws SQLException {
Connection connection = null ;
PreparedStatement preparedStatement = null ;
int a = 3 ;
try{
a = 1 / 2;
System.out.println("开始执行sql语句");
a = 1 / 0 ;
System.out.println("开始执行sql语句");
String sql = "select * from user" ;
preparedStatement = connection.prepareStatement(sql);
preparedStatement.executeUpdate();
}catch (Exception e ){
e.printStackTrace();
}finally {
if(connection!=null){
connection.close();
}
if(preparedStatement!=null){
preparedStatement.close();
}
}
}
}
2.2、throws声明异常
public static void main(String[] args) throws SQLException {
2.3、try–with–resource 新特性
try-with-resource自动关闭Closable接口的资源
2.4、自定义异常
package wr.oyc.exception;
public class AgeException extends Exception {
public AgeException(String message) {
super(message);
}
}
package wr.oyc.exception;
public class Main01 {
public static void main(String[] args) throws AgeException{
int age = 17 ;
if(age < 18 ){
throw new AgeException("未成年人需要被保护");
}
}
}
总结
异常的概念,异常的分类、处理异常的方法(try catch finally)和 抛出异常 和 try() catch 自定义异常类