-
1 # 程式設計師啊符
-
2 # IT資訊i
百度搜索圈T社群 免費行業影片教程
www.aiquanti.com
基本思路就是定義三個類,繼承異常的父類,然後在需要丟擲異常的地方,throws一下就可以了,示例如下:
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 {//繼承父類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;
}
-
3 # hallojava
Java是不允許同時丟擲多個異常的,一個java方法中只能有一個異常棧,最後一次捕獲丟擲的異常會覆蓋前面的異常。
當然也有奇淫伎倆,你做一個封裝類異常把每次拋的異常裝起來一次丟擲。但我不知道這樣的使用場景是什麼。
回覆列表
Java 中解決異常的方式有兩種,第一:直接丟擲(throw關鍵字),如果有多個異常,用逗號分隔開異常即可;第二種處理方式為捕獲(try…catch)