Подтвердить что ты не робот

Эквивалент Java RuntimeException в С#?

Имеет ли С# эквивалент Java java.lang.RuntimeException?

(I.E - исключение, которое может быть выбрано без необходимости быть пойманным или сбой программы при возникновении исключения.)

4b9b3361

Ответ 1

SystemException - эквивалент, это базовый класс всех исключений, которые могут быть повышены кодом .NET. В отличие от исключений приложений.

Из комментариев, по-видимому, звучит так, будто вы хотите поймать это исключение. В этом случае вы никогда не должны использовать SystemException, вы поймаете слишком много. Создайте свой собственный класс исключений, полученный из Exception.

В .NET нет спецификаций исключений, если вы после этого.

Ответ 2

В .NET поток программы будет терпеть неудачу, если произойдет необработанное исключение; приложение Windows перестанет работать, и приложение ASP.NET будет полностью зависеть от обработчика Global.asax 'Application_Error.

В этом отношении нет. Однако, возможно, вы можете включить пример того, что вы пытаетесь сделать, и мы можем предоставить предложения по шаблонам или подходам, чтобы вы получили решение.

Ответ 3

Я не думаю, что это так. Но почему ты этого хочешь? Скорее всего, вы можете достичь своей цели с помощью какой-либо другой части системы .NET.

Ответ 4

У .NET нет такого типа, но вы можете имитировать его в некоторой степени. Вы могли бы, но многие не рекомендуют, обертывая точку входа вашего приложения в одну попытку /catch, и поймайте исключение, которое вы ищете, и проглотите его. Если что-то подойдет ближе, то здорово.

Это построено в некотором смысле, как событие DispatcherUnhandledException в WPF; вы можете обработать событие и установить DispatcherUnhandledExceptionEventArgs.Handled = true, чтобы приложение работало.

В общем, я не рекомендую этот шаблон. Вместо этого используйте Trace.WriteLine, и если вам нужно, напишите прослушиватель трассировки. Помните: Исключения являются исключительными. Что-то необычное случается, это означает, что лучше прекратить приложение, чем продолжить в непредсказуемом состоянии.