Új hozzászólás Aktív témák

  • x123456

    aktív tag

    Belefutottam valamibe, amit nem értek, kellene egy kis segítség.
    Adott egy piciny program:

    public class faktor {

    static long fakt(long p){
    if(p<2){ return 1; } else { return p*fakt(p-1); }
    }
    /**
    * @param args
    */
    public static void main(String[] args) {
    try {
    System.out.println(args[0]+"!="+fakt(Long.parseLong(args[0])));
    }
    catch(Exception obj) {
    System.err.println("Na itt valami gáz van!");

    }

    }

    }

    Ha paraméterként egy nagyobb számot adok meg, akkor természetesen stack overflow a futás vége. Amit nem értek: a try - catch blokk miért nem kezeli?
    Egyéb hibát (például hiányzó paraméter esetén a tömb túlcímzést) kezeli. A stack túlcsordulását miért nem?

    Csak játszom vele, még azt sem merem állítani, hogy tanulok jávául. :)

Új hozzászólás Aktív témák

Hirdetés