Hirdetés
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Elektromos rásegítésű kerékpárok
- Brogyi: CTEK akkumulátor töltő és másolatai
- Klaus Duran: Minden drágul. Vajon a fizetések 2026-ban követi minimálisan?
- Gurulunk, WAZE?!
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Kalandor: Trust GXT929 HELOX egér (feat Cooler Master MM710)
Új hozzászólás Aktív témák
-
ArchElf
addikt
válasz
Yodafon
#1558
üzenetére
Persze, berakod egy try/catch-be, és a catch-ben elkapod az ArithmeticException kivételt:
private void szamol(){
try{
c=a/b;
if (c == Double.POSITIVE_INFINITY || c == Double.NEGATIVE_INFINITY) throw new ArithmeticException("Nullával osztottunk!");
}catch(ArithmeticException ex){
System.out.println(ex.getMessage());
}
}AE
-
ArchElf
addikt
válasz
Yodafon
#1556
üzenetére

1) Lebegőpontos számokkal számolva a nullával való osztás nem hiba, hanem helyesen VÉGTELEN-t hoz ki eredményül (angolul INFINITY). Integer osztás esetén a változó nem képes felvenni az INFINITY értéket, ezért fut hibára. Ha szeretnéd, hogy lebegőpontos osztásnál is dobjon hibát, akkor neked kézzel kell dobni valahogy így:if (c == Double.POSITVE_INFINITY) throw new ArithmeticException("Nullával osztottunk!");
2) Az e-t ott deklarálod a Catch-ben
Mivel az ArithmeticException nem biztos, hogy nullával való osztás eredménye, így inkább célszerű az e.getMessage() értékét kiiratni.AE
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest

Mivel az ArithmeticException nem biztos, hogy nullával való osztás eredménye, így inkább célszerű az e.getMessage() értékét kiiratni.
