Back Up Next

Stavka throws in throw

 
Ni potrebno, da vsakič postavljamo try-catch bloke. Za posamezne metode lahko s stavkom throws povemo, da v metodi lahko pride do neke izjeme. Tako se bo izjema prenesla na metodo, ki je to metodo klicala. Vse skupaj lahko poljubno gnezdimo.
class racunaj {
    // deli lahko povzroci izjemo!
    static int deli(int x, int y) throws Exception { 
        return x/y;
    }
}
class main {
    public static void main(String argv[ ]) {
        int a=3;
        int b=0;
        
        try {
            racunaj.deli(a,b);
        }
        catch (Exception e) {
            System.out.println("Exception!!!");
        }
    }
}

Stavek throw


Izjemo lahko povzročimo tudi sami s stavkom throw:
class racunaj {
    // deli lahko povzroci izjemo!
    static int deli(int x, int y) throws Exception { 
        if (y==0)
            // sami povzročimo napako!
            throw new Exception("Zgodila se je napaka");
        else 
            return x/y;
    }
}
class main {
    public static void main(String argv[ ]) {
        int a=3;
        int b=0;
        
        try {
            racunaj.deli(a,b);
        }
        catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
}
Back Up Next