2022-07-29 第七小组 房雪莹 学习笔记
今日学习内容:
1.异常处理:
1.下标越界
2.空指针
3.类型转换异常
4.数字格式化
5.算数异常(除数为0)
2.运算尽量不要用基本数据类型
用BigDecimal,后面是字符串
3.异常的继承体系结构
最顶级的叫Throwable:错误,异常
Error:正常情况,不太可能出现的,
绝大多数Error都会导致程序处于非正常的状态下,很难恢复。外力作用下
Error是Throwable的子类,它是在java程序处理范围之外的。
Exception:Java语言中,将程序执行中发生的不正常的情况称之为异常
编译期异常:写代码时抛异常,如果编译期不解决,会一直报红
运行期异常:RuntimeExecption,运行时会抛异常,平时没事
public static void fun(int i,int j)throws MyException{
if (j==0){
throw new MyException("除数不能为0");
}
System.out.println(i/j);
}
4.自定义异常:
Java中异常机制,但是结合实际业务就不行了
年龄-1
怎么自定义异常?
1.所有的异常必须是Throwable的子类(大材小用,没必要)
2.如果要定义一个编译异常,需要继承Exception类,就是编译期异常
3..如果要定义一个运行期异常,需要继承RuntimeExecption类
5.异常链:
一个异常被抛出去之后会被调用这个方法的方法捕获或抛出,异常会扩散。
只要说处理捕获异常就是try...catch
int num1=10;
int num2=0;
try{
System.out.println(num1/num2);
}catch (Exception e){
System.out.println("除数不能为0");
e.printStackTrace();
}
6.finally关键字:
finally用来创建try代码块的后面执行的代码块
无论是否发生异常,finally代码块中的代码一定会执行。一般finally中的代码都是用来释放资源。
分类:
随笔
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构