zoukankan      html  css  js  c++  java
  • 抛出多个异常 water

    java编程思想这本书上的一道练习题,题目是:定义三种新的异常类型,写一个类,在一个方法中抛出三种异常,在main中调用这个方法,仅用一个catch捕获三个异常

    public class CatchMultiException {
     
        public static void main(String[] args) throws Exception {
            try {
                test(2);
            catch (Exception e) {
                if (e instanceof TestAException || e instanceof TestBException
                        || e instanceof TestCException) {
                    e.printStackTrace();
                else {
                    throw e;
                }
            }
        }
     
        public static void test(int a) throws TestAException, TestBException,
                TestCException {
            if (a == 0) {
                throw new TestAException();
            }
            if (a == 1) {
                throw new TestBException();
            }
            if (a == 2) {
                throw new TestCException();
            }
        }
    }
     
    class TestAException extends Exception {
        private static final long serialVersionUID = 1L;
    }
     
    class TestBException extends Exception {
        private static final long serialVersionUID = 1L;
    }
     
    class TestCException extends Exception {
        private static final long serialVersionUID = 1L;
    }
     
     
     
    --------------
    如果使用 JDK 7 的话,还可以这样:
        public static void main(String[] args) {
            try {
                test(2);
            catch (TestAException | TestBException | TestCException e) {
                e.printStackTrace();
            }
        }

    转自:

    http://bbs.csdn.net/topics/370216093

  • 相关阅读:
    学生管理
    数据类型
    Linux安装、发布Django项目
    函数式编程
    学生管理系统
    mysql数据库工具类
    python操作数据库
    链接mysql建库建表
    列表元组字典集合
    内置对象相关方法
  • 原文地址:https://www.cnblogs.com/autumnlj/p/5689835.html
Copyright © 2011-2022 走看看