Java RuntimeException équivalent en C#?
Ne C# ont l'équivalent de Java java.lang.RuntimeException?
(I. E. une exception qui peut être jeté sans la nécessité d'être surpris, ou le programme plante lorsque l'exception est levée.)
- Malheureusement .net n'a pas utile d'exception de la hiérarchie.
- La véritable question: quelle est l'utilité d'une exception si elle ne fait pas planter le programme lorsqu'il n'est pas pris??
- Op définition de RuntimeException en Java n'est pas tout à fait droit. Un
RuntimeException
va planter le programme, si pas pris. La différence avec les autres exceptions est que vous n'avez pas besoin de déclarer unethrow
clause dans ton prototype de fonction. Il serait plus proche de C++runtime_error
, c'est des exceptions qui ne sont pas censé se produire, mais parfois dans des circonstances très spéciales, et vous ne voulez pas vous embêter avec les manipuler dans le code bas-niveau.
Vous devez vous connecter pour publier un commentaire.
SystemException est l'équivalent, c'est la classe de base de toutes les exceptions qui peuvent être levées par .NET code. Par opposition à l'application des exceptions.
De commentaires, cependant, elle sonne comme vous voulez attraper cette exception. Dans ce cas, vous devriez jamais utilisation SystemException, vous allez prendre de trop. Faire votre propre classe d'exception, issus de l'Exception.
Il n'y a aucune exception spécifications .NET, dans le cas où c'est ce que vous êtes après.
Dans .NET, le flux de programme échoue si une exception non gérée se produit; une application windows va abandonner, et un ASP.NET application de la bulle tout le chemin vers le Mondial.asax' Application_Error gestionnaire.
À cet égard, aucune. Cependant, peut-être vous pouvez inclure un exemple de ce que vous essayez de faire, et nous pouvons fournir des suggestions sur les modèles ou approches pour obtenir de vous une solution.
Je ne le pense pas. Mais, pourquoi voulez-vous un? Très probablement, vous pouvez atteindre votre objectif avec une autre partie de l' .NET système.
.NET n'a pas quelque chose exactement comme cela, mais vous pouvez simuler à un certain degré. Vous pourrait, mais beaucoup ne le recommande pas, enveloppant le point d'entrée de votre application dans un seul try/catch, et attraper l'exception que vous êtes à la recherche pour, et à l'avaler. Si quelque chose de plus près l'attrape, puis une grande.
C'est construit, à certains égards, comme le
DispatcherUnhandledException
événement dans WPF; vous pouvez gérer l'événement, et de définir laDispatcherUnhandledExceptionEventArgs.Handled = true
de garder l'application en cours d'exécution.En général, je ne recommande pas ce modèle. Utilisation
Trace.WriteLine
au lieu de cela, et si vous avez besoin, rédigez un écouteur de Trace. Rappelez-vous: les Exceptions sont exceptionnelle. Quelque chose d'extraordinaire se trouve que dire que c'est mieux d'arrêter l'application que de continuer dans un imprévu de l'état.C# ne pas avoir vérifié les exceptions.
Choisir le plus approprié exception de cette liste.