Одобрено: Fortect
Не тот ответ, который вам нужен? Просмотрите другие вопросы, пропущенные C #, или задайте свой вопрос.
Исключение можно использовать для проверки исключения для этого и внутреннего исключения для исключения, производного от Win32Exception.
view (исключение e) var w32ex E = как исключение Win32; если (w32ex == нуль) w32ex E = .InnerException как Win32Exception; если (w32ex! равно нулю) целое число = w32ex.ErrorCode; // создаем продукт // делаем другую информацию
Начиная с C номер 6, if может использоваться в факте захвата, чтобы указать условие, которое должно отображаться как истинное, чтобы обработчик выдал простое исключение.
catch (Win32Exception ex) где (например, InnerException win32Exception) var w32ex = (Win32Exception) ex.InnerException; программный код var = w32ex.ErrorCode;
Как и в комментариях, вам действительно нужно увидеть, какое исключение фактически выбрано в управление, чтобы понять, что именно вы можете сделать, и при каких обстоятельствах конкретный улов лучше, чем улавливание одного исключения. О нас:
выставка (BlahBlahException ex) // Что делать Ловить
(например, исключение) var пароль соответствует ex.HResult;
Ответ дан авг индивидуально ’11 в 0:08
61,5 триллиона
Вы должны взглянуть на элементы создаваемой разницы, в частности на .Message
и .InnerException
.
Я также хотел бы иметь документацию для InvokeMethod, чтобы увидеть, не генерируется ли какой-либо более конкретный класс исключения по сравнению с исключением – просто из-за типа win32Exception, предложенного @Preet. Возможно, вам не стоит брать каждый базовый класс в Exception и просто смотреть этот элемент.
ответил 1 августа 2011 до 00:11
Одобрено: Fortect
Fortect — самый популярный и эффективный в мире инструмент для ремонта ПК. Миллионы людей доверяют ему обеспечение быстрой, бесперебойной и безошибочной работы своих систем. Благодаря простому пользовательскому интерфейсу и мощному механизму сканирования Fortect быстро находит и устраняет широкий спектр проблем Windows — от нестабильности системы и проблем с безопасностью до проблем с управлением памятью и производительностью.
8 754 88 значков для старых часов 4545 серебряных значков 6565 коричневых значков
Основываясь на формуле Прита Сангхи, следующее должно точно охватывать сценарий, поскольку вы работаете с большим решением, которое, к сожалению, может привести к множеству внутренних исключений.
Попробуйте
Объект переводится как результат processClass.InvokeMethod ("Create", methodArgs); поймать E) (Исключение // Здесь я надеялся получить впечатляющий код ошибки. в любое время (ExceptionContainsErrorCode (e, 10004)) // Выполняем желаемые действия
private bool ExceptionContainsErrorCode (исключение elizabeth, int ErrorCode) Win32Exception winEx влечет за собой e для Win32Exception; если возможно (winEx! = null && ErrorCode == winEx.ErrorCode) результаты верны; в то время как (e.InnerException! = null) ExceptionContainsErrorCode (e return.InnerException, ErrorCode); ложный возврат;
Я не собираюсь вдаваться в подробности необходимости путешествовать, чтобы измерить и реализовать лучшие практики обработки исключений, подавляя каждый ожидаемый тип исключения его скрытым препятствиям.
ответил 1 февраля 2017 г. вместе с 15:51
Я указываю, что вы используете чистое сообщение из различных объектов, как в следующем коде
Попробуйте
Результат объекта = processClass.InvokeMethod («Создать», methodArgs);захват (исключение е) // Используйте Console.Write (e.Message); из консольного приложения // и используем MessageBox.Show (e.Message); с помощью приложения WindowsForm и WPF
отреагировал 29 января 15 в 23:05
Другой метод – это получение кода ошибки каждого класса напрямую. Например:
ловушка (исключение) (например, if.InnerException - это ServiceResponseException) ServiceResponseException srex = ex.InnerException как ServiceResponseException; ErrorCode group = srex.ErrorCode.ToString ();
ответил 17 апреля в 12:26.
… …
129
…
Повысьте производительность вашего компьютера с помощью этой простой загрузки. г.Подайте потрясающий сигнал, остановите блок ввода и используйте мой отладчик, чтобы сделать исключение визуально привлекательным в дополнение к тому, чтобы увидеть, какие факты у вас есть. -В качестве альтернативы вы, конечно, можете получить код без отладки и генерировать исключение общего типа с помощью GetType ().
Ваше исключение легко использовать. ToString () они возвращают. После описания разницы идет отличная строка. Вы также можете проверить базу данных отладки, я бы сказал, что пакет программного обеспечения, поскольку он содержит отладочную информацию, более или менее регистрирует все приложение.
Синтаксические ошибки возникают во время создания ошибок типа в надежном коде. Например, если вы пишете полностью на том основании, что пишете, когда вы пишете WHILE в этом случае, вы столкнетесь с ошибкой форматирования, потому что C # является языком с учетом регистра.
г.