Сначала я запускаю свои приложения с исключениями, возникающими при любой ошибке (обработанной или нет).
Во-вторых, я использую TypeConverter
для преобразования строки ввода пользователя в реальный объект.
Третий TypeConverter
не предлагает метод TryConvert
, поэтому я застрял, используя исключения для проверки, используя здесь довольно некрасивый фрагмент кода:
try
{
this._newValue = null;
#pragma Magic_SuppressBreakErrorThrown System.Exception
this._newValue = this.Converter.ConvertFromString(this._textBox.Text);
#pragma Magic_ResumeBreakErrorThrown System.Exception
this.HideInvalidNotification();
}
catch (Exception exception)
{
if (exception.InnerException is FormatException)
{
this.ShowInvalidNotification(this._textBox.Text);
}
else
{
throw;
}
}
Я нахожу довольно отвлекающим, чтобы выполнение прерывания VS выполнялось каждый раз, когда я набираю -
из -1
или какой-то другой недопустимый символ. Я мог бы использовать что-то похожее на this , но не все типы, которые я конвертирую, также имеют метод TryParse
.
Я надеюсь, что может быть какой-то способ отключить взлом для части кода в try
без изменения настроек моего исключения.