【JAVASE】Java同一时候抛出多个异常
2024-10-01 20:24:28
Java有异常抛出后。跳出程序。一般无法运行接下来的代码。
大家做登陆功能。常常会实username和password的登陆校验,username或者password错误。假设通常是提示username或者password错误,由于一般无法同一时候抛出两个异常信息。我们怎样来做到同一时候抛出多个异常呢? 能够把多个异常信息放到list中,然后一起抛出就可以。
我们接下来定义自己的异常类。
import java.util.ArrayList;
import java.util.List; /**
* 自己定义异常类
*
* @author gm
*/
public class MyException extends Exception { /**
* 序列化ID
*/
private static final long serialVersionUID = 1L;
/**
* 用于报错多个异常
*/
private List<Throwable> causes = new ArrayList<Throwable>(); /**
* 构造函数加入全部异常
*
* @param _causes
*/
public MyException(List<? extends Throwable> _causes) {
causes.addAll(_causes);
} /**
* 获取全部Exceptions
*
* @return List<Throwable>
*/
public List<Throwable> getException() {
return causes;
}
}
------------------------------------------------------------------------
异常类定义好后。同一时候抛出两个异常。
import java.util.ArrayList;
import java.util.List; public class ExcepitonTest { public static void main(String[] args) throws MyException {
try {
doException();
} catch (MyException e) {
e.printStackTrace();
throw new MyException(e.getException());
}
} public static void doException() throws MyException {
List<Throwable> list = new ArrayList<Throwable>();
int num1 = 1;
int num2 = 0;
int result = 0; try {
result = num1 / num2;
} catch (Exception e) {
list.add(e);
System.out.println("第一个异常");
} try {
result = num1 / num2;
} catch (Exception e) {
list.add(e);
System.out.println("第二个异常");
} if (list.size() > 0) {
throw new MyException(list);
}
}
}
看一下。
。。
。
异常信息
最新文章
- CSS外边距margin上下元素重叠
- 今个忽然晓得,原来radio不是普通去获取值的!
- 值得使用的Spring Boot
- paper 101:图像融合算法及视觉艺术应用
- 《学习OpenCV》练习题第五章第二题abc
- Android开发优化宝典
- PHP学习心得(二)——实用脚本
- 七周七语言——Prolog(二)
- 对比git pull和git pull --rebase
- C语言常见错误中英文对照表
- 【Python3的函数初识】
- Python 正则表达式 (python网络爬虫)
- IntelliJ IDEA 自定义方法注解模板
- CentOS 7修改系统时间及硬件时间
- 数据库和Django model 生成和反向生成
- Codeforces1062D. Fun with Integers(埃氏筛)
- KDD Cup 99网络入侵检测数据的分析
- linux_制作本地yum源
- WebClient 通过get和post请求api
- Android开发点滴 - 如何使按钮水平垂直居中且始终占据屏幕宽度一半
热门文章
- js中迭代的常用几种方法
- 【Docker端口映射】
- Python学习第一篇
- 【Codeforces Round #460 (Div. 2) B】 Perfect Number
- 转战Androidstudio之项目eclipse迁移
- SQL Server performance for alter table alter column change data type
- 浏览器加载跟渲染html的顺序-css渲染效率的探究
- (JavaScript基础向)日常小发现:forEach等函数的第二个参数的用法
- JAVA使用YUI压缩CSS/JS
- centos的dns配置总结