R
Reap
Gast
Hallo....ich hab ein paar generelle Fragen zu Exceptions....und zwar...ist in dem Code aus dem Skript nicht ein Fehler? Müsste da nicht statt NullPointerexception e.....SmallerAHalfException e stehen?
Code aus dem Skript:
In unserem Skript steht dass wenn man Exceptions für Methoden machen will dann müssen sie so ausschauen:
Dass kapier ich auch noch.....aber warum wird dann noch dass gemacht:
Wenn ich Methode in einer Testklasse aufrufe:
Warum macht man das? Ich hab doch die Exception schon geworfen in der Methode?
Wenn ich das try{...}catch(..){...} weglasse wird mir trotzdem die Exception geworfen....was hat das also für einen Sinn??????
Oder muss ich das immer so machen wenn ich eine Methode testen will in der ich eine Exception eingebaut habe??
mfg,
Reaper
Code aus dem Skript:
Code:
c
lass SmallerAHalfException extends Exception {
public SmallerAHalfException() { super(); }
public SmallerAHalfException(String s) { super(s); }
}
class ThrowRandom {
public static void main(String args []) {
for (int i = 1; i <= 10 ; i++) {
double d;
try {
d = java.lang.Math.random();
System.out.print("Die " + i + ". Zufallszahl ist ");
if (d < 0.5)
throw new SmallerAHalfException();
System.out.println(d);
} catch ([b] NullPointerException e [/b]) {
System.out.println("kleiner als 0.5");
i--;
}
}
}
}
In unserem Skript steht dass wenn man Exceptions für Methoden machen will dann müssen sie so ausschauen:
Code:
class test{
....
public void methode() throws exception(){
if(irgendwas verbotenes){
throw new exception();
}
....
}
}
Dass kapier ich auch noch.....aber warum wird dann noch dass gemacht:
Wenn ich Methode in einer Testklasse aufrufe:
Code:
....
test e = new test();
try{
e.methode();
}catch(exception){
System.out.println("Du hast was verbotenes gemacht");
}
...
Wenn ich das try{...}catch(..){...} weglasse wird mir trotzdem die Exception geworfen....was hat das also für einen Sinn??????
Oder muss ich das immer so machen wenn ich eine Methode testen will in der ich eine Exception eingebaut habe??
mfg,
Reaper