[JAVA] Als Exceptions omhoog gooien niet lukt

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • verytallman
  • Registratie: Augustus 2001
  • Laatst online: 18-08 18:12
Voor mijn topic titel had ik eigenlijk willen hebben: Hoe exceptions afhandelen als je ze niet "naar boven" kan gooien. (mod mag aanpassen indien betere in gedachte)

Ik heb bijvoorbeeld een array van klassen die allemaal een timer hebben lopen, wanneer de timer afgaat wordt er een sql query uitgevoerd.
Die kan mogelijk een SQLException geven...
Echter, aangezien de timer niet wordt aangeroepen vanuit het "hoofdprogramma" kan je daar naartoe ook niet de exception gooien.

Zo zijn er wel meer situaties denkbaar. Vooral bij multi-threaded situaties.

Wat is nu het probleem zou je denken. Wanneer je een exception niet meer omhoog kan gooien kan je em ook niet netjes afhandelen. Je hoofdprogramma draait bijvoorbeeld door, terwijl je dat bij sommige exceptions niet wil. Ook, wanneer er in 1 thread een SQLException komt die verteld dat de database eruit ligt, wil je eigenlijk dat alle andere thread dit ook doorkrijgen en niet tegen dezelfde SQLException aanlopen.

Tips of suggesties?

Acties:
  • 0 Henk 'm!

  • asfaloth_arwen
  • Registratie: Februari 2005
  • Laatst online: 09:58
Hoe wil je hem afhandelen? Log entry? Foutmelding? Retry? Je kunt eens in SEA zoeken, daar zijn al wat topics geweest die gerelateerd zijn aan dit soort issues. Bijvoorbeeld [Alg] Exceptions: zin en onzin en [alg] Gebruik maken van multiple cores

Specs


Acties:
  • 0 Henk 'm!

  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

Los van wat je zou willen, heb je in Java de mogelijkheid om een exception handler aan een thread te hangen, namelijk met de static method:
Thread.setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler);

In die handler kun je dan vanalles doen. Maar ik moet er eerlijk bij zeggen dat ik de constructie zelf nog nooit nodig heb gehad. Sterker, in een applicatieserver mag je zelfs niet zulke dingen doen.

Fat Pizza's pizza, they are big and they are cheezy