FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Praktische Informatik

Problem mit Exception in Java

Problem mit Exception in Java 2005-12-02 12:10
Connor
Ich hab mir aus dem internet ein Quelltext zur Speicherung eines BufferedImage als JPG geholt und aus der Canvas aus P2 den Quelltext kopiert und modifiziert so das statt void ein BufferedImage ausgegeben

Der BufferedImage to JPG Converter mit Speichern auf der Platte hat eine Exception die dadrin natürlich auch behandelt wird.

Verwende ich es in meiner Main so sagt der Unhandled Exception an bei speicherer.store(bild.gibBilddaten(),"test.jpg");

Warum??? Und vorallem wie krieg ich das weg. Ne Exception um speicherer.store… zu schreiben hilft nicht.


Quelltext:

package Bildverarbeitung;


public class Main {
public static Speichern speicherer = new Speichern();
/**
* @param args
*/
public static void main(String[] args) {
SWBild bild = new SWBild("Bildverarbeitung/rmae79~1.jpg");
short zahl = 100;
bild.grauWertFilterHell(zahl);
speicherer.store(bild.gibBilddaten(),"test.jpg");


}

}

Re: Problem mit Exception in Java 2005-12-02 12:15
Tweety
So seh ich es nicht. Wichtig wäre zu wissen WAS für eine Exception geschmissen wird, am besten mit StackTrace. Außerdem wäre wenn der Quellcode von speicherer.store(bild.gibBilddaten(),"test.jpg"); interessant, da hier ja offensichtlich der Fehler auftritt. Außerdem könnten die Java-Doc Kommentare der Store Methode nen Tipp geben.

Re: Problem mit Exception in Java 2005-12-02 12:29
Connor
public void store(short[][] shortgraphic, String sImgFilename)
throws Exception
{
int iWidth = shortgraphic[ 0 ].length;
int iHeight = shortgraphic.length;
BufferedImage img = getBufferedImage(shortgraphic);
myPaintFunction(img.createGraphics(), iWidth, iHeight, sImgFilename);
try
{
FileOutputStream out = new FileOutputStream(new File(sImgFilename));
JPEGImageEncoder enc = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam prm = enc.getDefaultJPEGEncodeParam(img);
prm.setQuality(1.0f, false);
enc.setJPEGEncodeParam(prm);
enc.encode(img);
}
catch (Exception ex)
{
throw new Exception("\nError: Image storing to '" + sImgFilename
+ "' failed: " + ex.getMessage());
}
}
}

Re: Problem mit Exception in Java 2005-12-02 12:30
Connor
ich kanns ja nicht mal laufen lassen da unhandled exception da steht

Re: Problem mit Exception in Java 2005-12-02 12:42
Joker
Die store-Methode leitet Exceptions an die aufrufende Methode weiter (… throws Exception), die du natürlich in deiner main-Methode behandeln musst.

Re: Problem mit Exception in Java 2005-12-02 12:51
Slater
store schmeißt also ne Exception,
so weit haben wir das jetzt schon festgestellt,

dir bleiben nun 2 Möglichkeiten:
entweder schmeißt main auch ne Exception
public static void main(String[] args) throws Exception {
..
}

oder du fängst die Exception ab

try {
speicherer.store(bild.gibBilddaten(),"test.jpg");
} cathc(Excpetion e) {
e.printStacktrace();
}

ist das so unverständlich? -> ein Java-Lehrbuch nehmen und erstmal die einfachen Kapitel versuchen

Re: Problem mit Exception in Java 2005-12-02 13:50
Brokkoli
ausserdem solltest du in deiner store methode möglichst nicht allgemein eine exception werfen (weil das halt nicht viel aussagt), sondern eine - möglicherweise selbstgeschriebene - unterklasse von exception.

Re: Problem mit Exception in Java 2005-12-03 14:27
Connor
Das ist sowas von scheissegal was da für ne Fehlermeldung kommt da ich das eh nur als eine Art Testklasse brauche. Java zeigt die ganzen bilder mit den Canvas und co kram aus P2 nicht an, da sie 2560 *1900 pixel haben. aber irgendwie erhalte ich nicht wirklich das was ich haben möchte. aber das liegt wohl am code

Re: Problem mit Exception in Java 2005-12-03 15:03
Wolf
aber das liegt wohl am code
Woran sollte es auch sonst liegen? [img]http://www.fb18.de/gfx/3.gif[/img]