Miért nem lehet két hiba közül az egyiket elkapni a Java-ban?
Adott egy fügvény,két hibát dobhat.
Egyikkel semmi gond,másik olyan,mintha nem is létezne.
(ugyanúgy kiírja a Netbeans alul,hogy így meg úgy a kivétel,mintha nem is lenne az a catch-nál)
try{
//itt valami(írtam ide,csak nem akarom gyakra feltenni.
} catch (InputMismatchException z) {
System.err.println("IndexOutOfBoundsException: " + z.getMessage());
} catch (Exception e) {//ez szépen megy
System.err.println("Caught Exception: " + e.getMessage());
}
InputMismatchException:ugye egy számot bekérek, de ha nagy,ez előjön.
És a Netbeans-ben:
Exception in thread "main" java.util.InputMismatchException
Az Exception fogó catch ág minden Exception-t elkap. Ha mégis "kijut a programból" egy Exception, akkor szerintem nem a try blokban dobódik a kivétel.
Kéne látni egy teljesebb kódot.
(#2 vagyok)
Az igaz, amire #1 utal, hogy az InputMismatchException unchecked, viszont explicite odaírta, hogy el akarja kapni:
catch (InputMismatchException z)
És ez el is kapná.
(#2 vagyok)
Szóval amit #2-ben írtam, nagyrészt felejtsük el. :) Az "akkor" szó utáni részt viszont még tartom.
Időközben meglett a hiba.
A try-ból kihagytam azt a sort,ami dobhatja az IndexOutOfBoundsException-t.
Most, hogy try-on belül van,jó.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!