zoukankan      html  css  js  c++  java
  • 【JAVASE】Java同一时候抛出多个异常

    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);
    		}
    	}
    }
    

    看一下。

    。。

    异常信息


  • 相关阅读:
    69. 二叉树的层次遍历
    17. 子集(Subsets)
    33. N皇后问题(回溯)
    15. 全排列
    53. 数字组合 II
    135. 数字组合
    95. 验证二叉查找树
    88. 最近公共祖先
    245. 子树
    [python应用]python简单图片抓取
  • 原文地址:https://www.cnblogs.com/llguanli/p/8330463.html
Copyright © 2011-2022 走看看