Si je me souviens bien dans .NET, on peut enregistrer des gestionnaires "globaux" pour les exceptions non gérées. Je me demande s'il y a quelque chose de similaire pour Java.Existe-t-il un gestionnaire d'exceptions non géré dans Java?
Répondre
Oui, il y a le defaultUncaughtExceptionHandler
, mais il déclenche que si le Thread
n'a pas. un ensemble uncaughtExceptionHandler
Si l'on suppose qu'il est comme catch (...) en C++ vous faites:
try { // your code here } catch(Throwable ex) { // any sort of exception, even if the VM has choked on a peanut }
En général, ce n'est pas une bonne idée, sauf si vous faites affaire avec le code 3ème partie (vous devriez essayer de toujours jeter les sous-classes d'exception (et non RuntimeException) dans votre propre code - à moins qu'il indique une erreur de programmation qui doit être Delt avec par les tests unitaires
Oui, il existe un gestionnaire de type "presque" global disponible en ThreadGroup. Ce n'est pas aussi global que celui que vous mentionnez, mais vous pouvez essentiellement obtenir la même fonctionnalité. À partir de Java 5, une fonctionnalité similaire est disponible directement sur le Thread class.
Souvent, les frameworks Java comme Struts et Spring (et les spécifications Servlet, IIRC) permettent de définir un gestionnaire d'exception global. Ces mécanismes sont spécifiques à chaque cadre, cependant.
- 1. Dernier gestionnaire d'exceptions géré dans un exécutable mixte natif/géré?
- 2. code dll non géré
- 3. Un thread non géré s'exécutant Code managé
- 4. Marquage de code non géré dans silverlight
- 5. Jeton C++ non résolu géré
- 6. Strange comportement non géré XmlException
- 7. Comment intégrer/mélanger le code géré et non géré
- 8. C# à C non géré ++
- 9. Code de rappel non géré de C géré
- 10. Passage d'un jeton d'emprunt d'identité sur un thread géré à un thread non géré
- 11. Comment marquer le gestionnaire d'événements C# comme "géré"?
- 12. Comment convertir un type non géré défini par l'utilisateur en type géré?
- 13. Marshalling C# (passage la structure à un type non géré)
- 14. Faire le dossier non géré par SVN
- 15. Transmettre DataTable à un environnement non géré (Visual C# 2005)
- 16. Comment convertir un doublon non géré en une chaîne managée?
- 17. Possible de créer un bitmap géré (non-GDI)?
- 18. Détecter si un ordinateur est un serveur de fichiers NetApp? (C++ non géré)
- 19. Test d'unité C++ non géré dans Visual Studio 2008
- 20. Comment initialiser un pointeur statique non géré dans un code C++/CLI?
- 21. Comment renvoyer un tableau de chaînes dans C# et l'utiliser dans C++ non géré?
- 22. « gestionnaire non défini » de prototype.js ligne 3877
- 23. registerClientScriptBlocage dans un gestionnaire personnalisé?
- 24. Libération non gérée dans un exécutable géré provoquant des exceptions gérées
- 25. d'Apple gestionnaire d'événements non (Python/AppScript)
- 26. Géré vers natif Interop sous Windows Azure NON P/Invoke
- 27. gestionnaire d'exception non gérée dans .Net 3.5 SP1
- 28. Marshaling un pointeur vers un tableau de types (C++ managé> C++ non géré)
- 29. classe de base non géré avec la sous-classe
- 30. Conversion de code C++ non géré en C#