PDA

Bekijk Volledige Versie : [java] Fatale fout servlet



janwillem
12/10/04, 16:55
Hallo,

Ik heb een webapplicatie die afhankelijk is van een bestand. Als dit
bestand er niet is dan kan de webapplicatie niet functioneren. De
webapplicatie is een servlet.

Nu controleer ik of het bestand er is, zo nee dan throw ik een
RuntimeException. Is dat de goede manier? Of is er een speciale
Exception voor zeer critische fouten?

Dank u!

Daniel Tryba
12/10/04, 19:55
janwillem <janwillem@decacentral.zzn.com> wrote:
> Nu controleer ik of het bestand er is, zo nee dan throw ik een
> RuntimeException. Is dat de goede manier? Of is er een speciale
> Exception voor zeer critische fouten?

Wat wil je er precies mee bereiken?

<q src='http://java.sun.com/j2se/1.4.2/docs/api/java/lang/RuntimeException.html'>
RuntimeException is the superclass of those exceptions that can be
thrown during the normal operation of the Java Virtual Machine.
</q>

Pas dus eigenlijk niet bij jou beschrijving dat iets niet functioneerd
tenzij de file aanwezig is, voor een servlet controleer je dat dus in de
init method en dus voor het ding uberhaupt draaid.

In het lijstje van bekende subclasses staat overigens
MissingResourceException exception die beter aansluit bij je bedoeling
indien je inderdaad een RuntimeException wilt gooien.

Persoonlijk zou ik voor de FileNotFoundException gaan.

--

Daniel Tryba

janwillem
13/10/04, 14:35
Daniel Tryba <news_nl.internet.www.server-side@canopus.nl> wrote in message news:<ckh5h4$5ud$1@news.tue.nl>...
> janwillem <janwillem@decacentral.zzn.com> wrote:
> > Nu controleer ik of het bestand er is, zo nee dan throw ik een
> > RuntimeException. Is dat de goede manier? Of is er een speciale
> > Exception voor zeer critische fouten?
>
> Wat wil je er precies mee bereiken?
>
> <q src='http://java.sun.com/j2se/1.4.2/docs/api/java/lang/RuntimeException.html'>
> RuntimeException is the superclass of those exceptions that can be
> thrown during the normal operation of the Java Virtual Machine.
> </q>
>
> Pas dus eigenlijk niet bij jou beschrijving dat iets niet functioneerd
> tenzij de file aanwezig is, voor een servlet controleer je dat dus in de
> init method en dus voor het ding uberhaupt draaid.
>
> In het lijstje van bekende subclasses staat overigens
> MissingResourceException exception die beter aansluit bij je bedoeling
> indien je inderdaad een RuntimeException wilt gooien.
>
> Persoonlijk zou ik voor de FileNotFoundException gaan.

Ik was inderdaad even de weg kwijt, ik had een tijdje geleden iets
gelezen over dat je bepaalde exceptions op bepaalde kritike momenten
moest throwen. Na wat nagedacht te hebben ging dat over RMI en welke
exceptions over RMI verzonden kon worden. Had dus helemaal niks met
servlets te maken ;-) De FileNotFoundException is inderdaad een goeie!

Onno
13/10/04, 18:15
> Nu controleer ik of het bestand er is, zo nee dan throw ik een
> RuntimeException. Is dat de goede manier? Of is er een speciale
> Exception voor zeer critische fouten?

Je kan je eigen MissingFileException throwen afgeleid van Exception
?????????????? Ik maak voor bijna elk type fout een apart object aan, dat
leest makkelijk in de logs. Bv filesystemexception, memoryexception, etc.
Soms zijn er al objecten voor die van Exception zijn afgeleid die goed
passen, maar als je via JNI werkt gebruik ik bv WinAPIException of
SysCallException (solaris) voor het host OS.

Je kan dan namelijk meerdere objecten catchen en per fouttype aparte acties
doen in je applicatie/jsp...