Kezdőoldal » Számítástechnika » Programozás » Miért nem jó a throw a fügvény...

Miért nem jó a throw a fügvényben? (Java)

Figyelt kérdés

public void fgv(int s){

if (s%3<1) System.out.println(s*s*s);

else {throw new Exception("Nem jó szám");

}


}

public static void main(String[] args) {

try{

int i=10;

fgv(i);

}catch( Exception e ) { System.out.println(e); }


}



}


2014. aug. 27. 22:53
 1/8 anonim ***** válasza:
Nem a throw-al van baja, hanem azzal, hogy az if() előtte nincs lezárva.
2014. aug. 27. 22:57
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:
Se megnyitva.
2014. aug. 27. 22:57
Hasznos számodra ez a válasz?
 3/8 anonim ***** válasza:
52%

Vagyis:

public void fgv(int s){

if (s%3<1){

System.out.println(s*s*s);

}else{

throw new Exception("Nem jó szám");

}

}

2014. aug. 27. 22:59
Hasznos számodra ez a válasz?
 4/8 anonim ***** válasza:
82%

Az if-fel semmi baj nincsen, true ágon egy utasítás van, nem kell (csak ajánlott) kapcsoszárójeleket kitenni köré.


Szerintem meg az a baj a throw-val, hogy nem jelezted a függvényfejlécben, hogy az a függvény (fgv) kivételt dobhat.


Egyébként azt képzeld el, hogy a fordító pontosan kiírja, mi a hiba. Szóval mit ír ki?

2014. aug. 27. 23:01
Hasznos számodra ez a válasz?
 5/8 anonim ***** válasza:
75%

public void fgv(int s) throws Exception {}


Így bejelented, hogy a függvény kivételt dob.

2014. aug. 28. 08:30
Hasznos számodra ez a válasz?
 6/8 anonim ***** válasza:
52%

Tess:


public class Main{


public static void fgv(int s) throws Exception{

if (s%3<1) {System.out.println(s*s*s);}

else {throw new Exception("Nem jó szám");

}

}


public static void main(String[] args) {

try{

int i=10;

fgv(i);

}catch( Exception e ) { System.out.println(e); }


}


}


Hiányzott az osztálydeklaráció (lehet, hogy azt csak ne másoltad be), az fgv függvény fejlécében nem mondtad meg neki, hogy továbbdobhatja a kivételt.

Én kapcsos zárójelbe tettem az if utáni utasítást is, de anélkül is jól működött.

2014. aug. 28. 12:27
Hasznos számodra ez a válasz?
 7/8 A kérdező kommentje:

java.lang.RuntimeException: Uncompilable source code - non-static method fgv(int) cannot be referenced from a static context


Ez a hiba.


Osztálydeklaráció nem is volt.:D

2014. aug. 28. 13:00
 8/8 A kérdező kommentje:

Köszi mindenkinek a választ.:)


Nálam az volt a baj,hogy nem static a fügvény,emellett nem volt jelezve.


public static void fgv(int s)throws Exception {

if (s%3<1)

{System.out.println(s*s*s);}

else {throw new Exception("Nem jó szám");

}


}

public static void main(String[] args) {

try{

int i=10;

fgv(i);

}catch( Exception e ) { System.out.println(e); }


}

2014. aug. 28. 13:36

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!