ในขณะที่ลองใช้คุณสมบัติมัลติแคปฉันพบว่าm1()
วิธีการของฉันทุกอย่างทำงานได้ดีอย่างที่คาดไว้
อย่างไรก็ตามในm2()
รหัสเดียวกันไม่ได้รวบรวม ฉันเพิ่งเปลี่ยนไวยากรณ์เพื่อลดจำนวนบรรทัดของรหัส
public class Main {
public int m1(boolean bool) {
try {
if (bool) {
throw new Excep1();
}
throw new Excep2();
//This m1() is compiling abs fine.
} catch (Excep1 | Excep2 e) {
return 0;
}
}
public int m2(boolean b) {
try {
throw b ? new Excep1() : new Excep2();
//This one is not compiling.
} catch (Excep1 | Excep2 e) {
return 0;
}
}
private static interface I {
}
private static class Excep1 extends Exception implements I {
}
private static class Excep2 extends Exception implements I {
}
}
ทำไมไม่m2()
รวบรวมวิธี?