- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Geri Bátyó: Agglegénykonyha 1 – rizseshús másképp
- sh4d0w: Vigyázz a háttértáradra...
- DraXoN: Budget kategória Xeon 2678v3 VS Ryzen R5 5600X
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- Gurulunk, WAZE?!
- eBay-es kütyük kis pénzért
- LordAthis: AI Kérdés érkezett - 3600 soros Spagetti kód refaktorálása és budget
Ú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?:))
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! Apple Watch Series 9/Apple Watch Ultra/Apple Watch Ultra 2
- Vállalom Xiaomi Okoskamerák szoftveres javíttását
- BESZÁMÍTÁS! LENOVO LOQ 15AHP9 15 FHD notebook - R7 8845HS 32GB DDR5 1TB SSD RTX 4060 6GB WIN11
Állásajánlatok
Cég: FOTC
Város: Budapest