Java基础之异常
目录
- 异常简单介绍
- Throwable
- Error
- Exception
- 异常分类
- 如何处理异常
- 异常中的关键字
- 异常抛出 throw
- 声明异常 throws
- 异常捕获 try...catch
- 出现异常后,程序继续执行 finally
异常简单介绍
- 异常是指程序在执行过程中,出现的非正常情况,最终会导致JVM的非正常停止.
- 异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象.Java中处理异常的方式是中断处理.
-
且看下方异常关系图
java异常关系图.jpg
Throwable
Error
- 指严重的错误,无法处理的错误,只能进行事先避免
Exception
- 表示程序中的异常,可以通过代码进行纠正,是程序继续运行
异常分类
- 编译时异常:在编辑时候出现的错误
- 运行时异常:在程序执行时候出现的错误
如何处理异常
异常中的关键字
- try、catch、finally、throw、throws
异常抛出 throw
- 定义一个异常类
public class BusinessException extends Exception { public BusinessException(String message) { super(message); } }
- 编写测试方法
public static void print(String a) throws Exception { if (!a.equals("b")) { throw new BusinessException("字符串不等"); // 一般提示内容为常量类 } } public static void main(String[] args) throws Exception { TestTwo.print("a"); }
- 控制台结果
Exception in thread "main" com.example.demo.test.BusinessException: 字符串不等 at com.example.demo.test.TestTwo.print(TestTwo.java:7) at com.example.demo.test.TestTwo.main(TestTwo.java:12)
声明异常 throws
- 将异常标识在方法上,抛给调用者,让调用者去处理
- 声明异常格式
修饰符 返回值类型 方法名(参数) throws 异常类名1,异常类名2…{ }
异常捕获 try...catch
- 进行预知的异常捕获,可以进行多个异常进行处理
- 捕获异常格式
try{ 编写可能会出现异常的代码 }catch(异常类型A e){ 处理异常的代码 //记录日志/打印异常信息/继续抛出异常 }catch(异常类型B e){ 处理异常的代码 //记录日志/打印异常信息/继续抛出异常 }
出现异常后,程序继续执行 finally
- 异常出现,进行一些IO流的关闭,或者可执行的业务代码操作
- 异常方法示例
public static void print(String a) throws Exception { if (!a.equals("b")) { throw new BusinessException("字符串不等"); // 一般提示内容为常量类 } } public static void main(String[] args) throws Exception { try { TestTwo.print("a"); }catch (Exception e){ e.printStackTrace(); }finally { System.out.println("我是继续执行了啊"); } }
网友评论