J
java2000
Gast
Hallo zusammen,
ich verstehe nicht, wie ich eine Exception für eine ganze Klasse throwen (verwerfen) kann.
Ich möchte gerne ein Programm schreiben, das Pixelfarben abfragt und je nach Output weiter verfährt. Um die Pixelfarbe zu bekommen muss ich ein Objekt von Typ Robot erstellen. In meiner Klasse sind verschiedenen Methoden, die alle mit dieses Robot-Objekt arbeiten. Im Moment sieht es so aus:
Das Try muss da stehen, weil die AWTException throwt werden muss. Alternativ könnte ich natürlich auch zu Beginn der Methode "throw AWTException" einfügen.
Weil aber in allen Methoden ein solches Robot-Objekt verwendet wird, würde es mehr Sinn machen, dieses Objekt für die ganze Klasse zur Verfügung zu stellen, so dass nicht jede Methode zuerst das Objekt erzeugen muss. Wenn ich jetzt aber einfach schreibe
kann ich das nicht compilieren, weil jetzt die AWTException nicht gethrowt wird. Der Compiler meldet:
"unreported exception java.awt.AWTException; must be caught or declared to be thrown"
Ist es möglich und wenn ja wie, dass ich dieses Robot Objekt "rob" aus den Methoden raushole und nicht in jeder Methode separat erzeugen muss?
Danke für eure Hilfe
Gruss
Martin
ich verstehe nicht, wie ich eine Exception für eine ganze Klasse throwen (verwerfen) kann.
Ich möchte gerne ein Programm schreiben, das Pixelfarben abfragt und je nach Output weiter verfährt. Um die Pixelfarbe zu bekommen muss ich ein Objekt von Typ Robot erstellen. In meiner Klasse sind verschiedenen Methoden, die alle mit dieses Robot-Objekt arbeiten. Im Moment sieht es so aus:
Code:
public static void met1()
{
try {
Robot rob = new Robot();
int I = rob.getPixelColor(1,1).getRed()
[berechnung]
} catch {
}
}
Das Try muss da stehen, weil die AWTException throwt werden muss. Alternativ könnte ich natürlich auch zu Beginn der Methode "throw AWTException" einfügen.
Weil aber in allen Methoden ein solches Robot-Objekt verwendet wird, würde es mehr Sinn machen, dieses Objekt für die ganze Klasse zur Verfügung zu stellen, so dass nicht jede Methode zuerst das Objekt erzeugen muss. Wenn ich jetzt aber einfach schreibe
Code:
public class klasse1
{
static Robot rob = new Robot();
public static void met1()
{
int I = rob.getPixelColor(1,1).getRed()
[berechnung]
}
}
kann ich das nicht compilieren, weil jetzt die AWTException nicht gethrowt wird. Der Compiler meldet:
"unreported exception java.awt.AWTException; must be caught or declared to be thrown"
Ist es möglich und wenn ja wie, dass ich dieses Robot Objekt "rob" aus den Methoden raushole und nicht in jeder Methode separat erzeugen muss?
Danke für eure Hilfe
Gruss
Martin