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

  • 相关阅读:
    MonoDev 冷门而好用的功能
    Android Runtime
    bat调用bat的一个巨坑
    AssetBundles
    赢家不会告诉你的事
    防止过度工程
    如果你不肯向这个世界投降
    《我的互联网方法论》
    Notepad++ HTML格式化
    Python 包的相对导入讲解
  • 原文地址:https://www.cnblogs.com/autumnlj/p/5689835.html
Copyright © 2011-2022 走看看