Java是不允许同时抛出多个异常的,一个java方法中只能有一个异常栈,最后一次捕获抛出的异常会覆盖前面的异常。

当然也有奇淫伎俩,你做一个封装类异常把每次抛的异常装起来一次抛出。但我不知道这样的使用场景是什么。
基本思路就是定义三个类,继承异常的父类,然后在需要抛出异常的地方,throws一下就可以了,示例如下:
一、Execption可以分为java标准定义的异常和程序员自定义异常2种
(1)一种是当程序违反了java语规则的时候,JAVA虚拟机就会将发生的错误表示为一个异常.这里语法规则指的是JAVA类库内置的语义检查。
(2)另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。
例如 Exception ex = new Exception("这是我自定义的异常信息");throw ex;
所有的异常都是Thowable的子类。
异常处理是与程序执行是并行的。
//可能发现异常的语句块
//发生异常时候的执行语句块
//不管是否发生异常都执行的语句块
二、异常的处理方式
包括捕获异常和上抛异常
抛出异常是方法本身不进行处理这个异常需要调用方法的时候进行处理,捕获异常是在方法本身自己将异常进行处理。
//这里进行异常的处理,如果不想处理,不写任何代码也可以,但是不推荐。