Java 异常及处理
2021/11/11 22:15:10
本文主要是介绍Java 异常及处理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
程序运行过程中发生的不正常行为叫做异常
异常体系图
Error
栈溢出
内存溢出
Exception
运行时异常
空指针异常
数学运算异常
类型转换异常 classCastException
数组下标越界异常
数字格式化异常 NumberFormatException
int a = Integer.parseInt("s");
编译时异常
是指代码在编译期间就必须处理的异常,否则代码不能编译通过
IOException
ClassNotFoundException
FileNotFoundException
SQLException
throw 和 throws 的区别
throw :手动生成异常对象的关键字,位置在方法体中, 用在方法体内,抛出具体的异常,由方法体处理。
throws:方法抛出的一个异常,可以声明多个,用逗号隔开,由方法调用方处理
try…catch…finally
当需要抛出多个异常,子类异常在前,父类异常在后
try…finally 等于没有抛出异常
try { int a = Integer.parseInt(""); }catch (Exception e){ e.printStackTrace(); }finally { System.out.println("打印finally"); } System.out.println("打印最后");
try { int a = Integer.parseInt(""); }finally { System.out.println("打印finally"); } System.out.println("打印最后");
执行顺序
try { int a = Integer.parseInt(""); return; }catch (Exception e){ e.printStackTrace(); System.out.println("异常"); return; }finally { System.out.println("打印finally"); }
try { int a = Integer.parseInt("3"); System.out.println("正常"); return; }catch (Exception e){ e.printStackTrace(); System.out.println("异常"); return; }finally { System.out.println("打印finally"); }
异常执行顺序
// 捕获异常后,程序会继续执行,aaa不会被执行 try { Integer a = null; a.equals("1"); System.out.println("aaa"); }catch (Exception e){ // 捕获异常 e.printStackTrace(); } System.out.println("程序继续执行"); java.lang.NullPointerException at com.zs.backend.test.Out.main(Out.java:8) 程序继续执行 try { Integer a = null; a.equals("1"); System.out.println("aaa"); }catch (Exception e){ // 捕获异常 //e.printStackTrace(); } System.out.println("程序继续执行"); 程序继续执行
自定义异常
public class Out { public static void main(String[] args) { int a = 10; if(a > 1){ throw new CC("异常"); } } } class CC extends RuntimeException{ public CC(String msg){ super(msg); } } > 1){ throw new CC("异常"); } } } class CC extends RuntimeException{ public CC(String msg){ super(msg); } }
这篇关于Java 异常及处理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求
- 2024-10-01使用 golang 将ETH账户的资产平均分散到其他账户
- 2024-10-01JWT用户校验课程:从入门到实践
- 2024-10-01Server Component课程入门指南
- 2024-09-30Dnd-Kit学习:新手快速入门指南