【JAVASE】Java同时抛出多个异常
来源:互联网 发布:淘宝店铺开店日期 编辑:程序博客网 时间:2024/06/10 01:29
Java有异常抛出后,跳出程序,一般无法执行接下来的代码。
大家做登陆功能,经常会有用户名和密码的登陆校验,用户名或者密码错误,如果一般是提示用户名或者密码错误,因为一般无法同时抛出两个异常信息。我们如何来做到同时抛出多个异常呢? 可以把多个异常信息放到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);}}}
看一下。。。。异常信息
0 0
- 【JAVASE】Java同时抛出多个异常
- 抛出和捕捉多个异常
- Tomcat发布多个项目抛出异常
- C++ 抛出并捕获多个异常
- Think in Java 笔记_Chapter12_1_Exception基础_异常处理3_自定义异常以及抛出多个异常的处理
- java手记---抛出异常
- java 异常抛出
- java 异常控制台抛出
- Java异常抛出类
- java throw抛出异常
- java 抛出自定义异常
- java异常抛出
- Java抛出异常
- JAVA如何抛出异常
- Java:抛出异常
- Java 异常抛出
- java-抛出异常
- java重新抛出异常
- C++设计模式-适配器模式
- 关于Eclipse通过JDBC或者ODBC连接Oracle
- UVA 10177 (2/3/4)-D Sqr/Rects/Cubes/Boxes? 简单数学题
- Git基础
- Linux命令之kill
- 【JAVASE】Java同时抛出多个异常
- 平衡二叉树AVL的基本操作之删除
- vector删除元素
- 求二叉树中节点的最大距离
- 【Android开发日记】AndroidCharts 饼状图 PieView修改:添加数值和颜色
- Eclipse快捷键大全(转载)
- Foundation中将字符串写入到磁盘文件上
- Android ActionBar应用实战,高仿微信主界面的设计
- FPGA研发(5)从零开始调试FPGA。