异常机制
异常机制
把异常当做对象处理,并定义一个基类java.lang.Throwable作为所有异常的超类
-
检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。
-
运行时异常: 运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。
-
错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。
在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exception。
异常处理机制
- 关键字:try、catch、finally、throw、throws
public class Demo01{ public static void main(String[] args) { int a=1; int b=0; try{//try监控异常 System.out.println(a/b); }catch (ArithmeticException e){//catch(捕获的异常类型)捕获异常,可以写多个,捕获多个异常 System.out.println("0"); }finally{//善后,可以不使用,一般用于释放资源 System.out.println("finally"); } } public void add(int a,int b) throws ArithmeticException{//方法上抛出异常 if(b==0){ throw new ArithmeticException();//主动抛出异常,一般在方法中使用 } } }
自定义异常:自定义异常类并继承Exception类
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律