Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich experimentiere gerade mit Webservices und Axis herum.
Folgender Code bereitete mir Schwierigkeiten:
Wenn ich "try ... catch" verwende, funktioniert alles bestens.
nehme ich aber den "try .. catch" aus dem Code raus, funktioniert das Programm nicht mehr
Kann man Klassen in Java so deklerarien, so das eine Fehlerbehandlung zwingend erfoderlich ist?
Oder stehe ich auf der Leutung?
So funktioniert es:
Code:
public final class SayHello {
public static void main(String[] args) {
try
{
HelloLocator loc = new HelloLocator();
HelloSoap port = loc.getHelloSoap();
System.out.println(port.helloWorld());
}
catch(Exception e)
{System.out.println(e.getMessage());}
}
}
So nicht:
Code:
public final class SayHello {
public static void main(String[] args) {
//try
//{
HelloLocator loc = new HelloLocator();
HelloSoap port = loc.getHelloSoap();
System.out.println(port.helloWorld());
//}
//catch(Exception e)
//{System.out.println(e.getMessage());}
}
}
Eclipse sagt dann "Unhandled exception type ServiceException"
public doSomething (...) throws SomeException
{ ... }
Ich wuerde aber im try - catch nicht nur einfach "Exception e" abfangen, sondern gleich die spezielle Exception,
die von diesem Code geworfen wird. Das ist dann einfacher zu debuggen und auch besserer Stil.
du MUSST die sog. checked Exceptions in einem try-catch behandeln ODER sie (wie bei bambi) in die throws klausel deiner methode aufnehmen
es gibt da keine allgemeingültige Regel....
wenn du an der Stelle des Codes nicht auf die Ausnahme reagieren kannst, dann "wirf sie weiter" - dann muss der Aufrufer deiner Methode irgendwas damit machen; das ist - in dem Fall - besser als sie mit catch aufzufangen ...
Was meinst du mit "verwerfen"? Du kannst sie wie gesagt in nem try...catch abfangen oder du sagst mit "throws" das die Methode eine solche Exception werfen könnte , falls sie auftritt wird sie weitergeleitet.
Aber das wurde ja alles schon gesagt.
Wahrscheinlich willst du die Exception gar nicht behandeln oder (also z.B. main schmeisst die Exception und keiner kümmert sich eigentlich drum)? Würde dir davon abraten.
Ich muss Excelsheets beschreiben die größer 14000 Zellen sind. Für jede Zelle ein try and catch geht ganz schön auf die Performance. Deswegen wollte ich sie einfach verwerfen.