Problem mit Exception Throw
Greedy_Raccoon
- java
0 fanelf.de0 Greedy_Raccoon0 fanelf.de0 Greedy_Raccoon0 s schumann0 MudGuard0 fanelf.de
0 s schumann
Hallo
habe ein für mich irgendwie unlösbares Problem mit dem Exception Throw bei Java
der Code sieht folgendermaßen aus:
---------------------- CODE ---------------------------
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Vector;
import com.kensingtonspace.sdk.node.ColumnDescriptor;
import com.kensingtonspace.sdk.node.Node;
import com.kensingtonspace.sdk.node.NodeDescriptor;
import com.kensingtonspace.sdk.node.NodeException;
import com.kensingtonspace.sdk.node.ResultSetFactory;
import com.kensingtonspace.sdk.node.TableDescriptor;
public class GlueTablesPrint implements Node, java.io.Serializable
{
any_method(....) //liste zwecks lesbarkeit nicht die ganze auf
{....}
public void prepare(...)
throws NodeException
{.....}
public void process(...)
throws NodeException, IOException, PrinterException
{....}
}
---------------------- CODE ENDE ---------------------------------
wenn ich das compilieren will, bekomme ich folgende Fehlermeldung:
GlueTablesPrint.java.129:
process(...)
in GlueTablesPrint cannot implement
process(...)
in com.kensingtonspace.sdk.node;
overriden method does not throw javax.print.PrintException
public void
process(...)
Jemand eine Ahnung woran das liegt?
danke lg Greedy Raccoon
Jemand eine Ahnung woran das liegt?
danke lg Greedy Raccoon
ja, du mußt die exception in process deklarieren, wenn du diese überschreibst, da das original diese exception deklariert hat.
ja, du mußt die exception in process deklarieren, wenn du diese überschreibst, da das original diese exception deklariert hat.
Danke für die schnelle antwort.....
wie deklariere ich die exception in process?
ich habe versucht java.awt.print.Printable in die class zu implementieren als interface für java.awt.print.PrinterException, aber dann bekomme ich die Fehlermeldung dass class nicht abstract ist und deswegen fehler.
...
was muss ich also wo deklarieren?
Danke Lg
Greedy_Raccoon
in der deklaration der methode.
ich sehe gerade, dass dort wohl ein schreibfehler ist. es muss PrintException heissen.
in der deklaration der methode.
ich sehe gerade, dass dort wohl ein schreibfehler ist. es muss PrintException heissen.
nö is kein schreibfehler, weil es gibt die java.awt.print.PrinterException und die javax.print.PrinException.
Da ich aber einen java.awt.print.PrintJob verwende, muss ich die PrinterException abfangen.
..... angenommen der code sieht so aus:
public void process(.....)
throws NodeException, IOException, PrinterException
{
}
was muss ich da noch zusätzlich deklarieren?
lg Greedy Raccoon
was muss ich da noch zusätzlich deklarieren?
Was hast Du an meiner Antwort nicht verstanden? Die Signatur *muß* übereinstimmen.
Hi,
Da ich aber einen java.awt.print.PrintJob verwende, muss ich die PrinterException abfangen.
Dann fang sie doch ab (try - catch).
Du versuchst ja, sie weiter nach oben zu reichen, nicht, sie abzufangen.
Und das geht natürlich nicht, da die Methode, die Du überschreibst, diese Exception nicht wirft.
cu,
Andreas
in der deklaration der methode.
ich sehe gerade, dass dort wohl ein schreibfehler ist. es muss PrintException heissen.nö is kein schreibfehler, weil es gibt die java.awt.print.PrinterException und die javax.print.PrinException.
Da ich aber einen java.awt.print.PrintJob verwende, muss ich die PrinterException abfangen.
..... angenommen der code sieht so aus:
public void process(.....)
throws NodeException, IOException, PrinterException
{}
was muss ich da noch zusätzlich deklarieren?lg Greedy Raccoon
die meldung ist: overriden method does not throw javax.print.PrintException
hier steht PrintException.
dies muss auch in der methode deklariert werden. schreib es doch einfach dazu.
public void process(...)
throws NodeException, IOException, PrinterException
{....}
wenn ich das compilieren will, bekomme ich folgende Fehlermeldung:in GlueTablesPrint cannot implement
process(...)
in com.kensingtonspace.sdk.node;
overriden method does not throw javax.print.PrintException
Du implementierst process(), die vermutlich eine andere Signatur benötigt. Zum Beispiel könnte ich mir vorstellen, daß eine javax.print.PrintException geworfen werden muß.