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

  • 相关阅读:
    mac 终端 常用命令
    创办支持多种屏幕尺寸的Android应用
    java学习之部分笔记2
    java学习之部分笔记
    java学习之i/o
    java中String的用法
    java中List的用法
    java学习之Date的使用
    java学习之数据库
    C#中通过类来继承两个接口,父类实例化接口中的方法,子类继承父类,调用方法
  • 原文地址:https://www.cnblogs.com/autumnlj/p/5689835.html
Copyright © 2011-2022 走看看