Я написал файл BAT для запуска моей программы десять раз. Но в какой-то момент программа выйдет из строя. Надеюсь, я смогу обнаружить это условие, а затем закрою программу. Процесс C# Ответ, который не знал этой проблемы.Как я могу получить уведомление о том, что моя программа разбилась
ответ
См How do I specify the exit code of a console application in .NET?, MSDN: Main() Return Values (C# Programming Guide) и .NET Global exception handler in console application.
Диалог показан, потому что вы не поймаете исключение. Вы должны объединить все показанное там, так:
class Program {
static void Main(string[] args) {
AppDomain.CurrentDomain.UnhandledException += UnhandledExceptionTrapper;
// Your code here
throw new Exception("Kaboom");
}
static void UnhandledExceptionTrapper(object sender, UnhandledExceptionEventArgs e) {
Console.WriteLine(e.ExceptionObject.ToString());
Environment.Exit(1);
}
}
И:
@echo off
TestExceptionApp
@if "%ERRORLEVEL%" == "0" goto good
:fail
echo Execution Failed
echo return value = %ERRORLEVEL%
goto end
:good
echo Execution succeeded
echo Return value = %ERRORLEVEL%
goto end
:end
Выполняет ли обработчик 'UnhandledException' исключение из буфера и удаление приложения? Если нет, OP находится в том же положении, что и раньше, с диалоговыми окнами WER, блокирующими командный файл. – spender
Ах. Хорошо ... Я пропустил «Environment.Exit (1);». Сначала вы попадаете туда. – spender
Пока приложение не теряет исключений (которые предотвращает обработчик 'UnhandledException'), вы не увидите всплывающее окно WER _ для вашего кода_. Если код OP запускает другой исполняемый файл, который вызывает всплывающее окно, ну ... тогда они должны упомянуть об этом в OP. – CodeCaster
Вам придется написать отдельную программу, которая создает новый процесс, который ловит ошибку. Когда вы сделаете улов, вы можете отправить уведомление самому себе в выписке перед уведомлением об обработке ошибок.
Скорее всего, потребуется запустить отдельную программу, вызванную из локальной системы пользователя.
И что произойдет, если программа, которая ловит ошибку, имеет ошибку? – DavidG
ОП вернется с большим количеством вопросов? ИДК. Я считаю, что вопрос ОП - это не один, а два вопроса. Трудно сказать, что они действительно ищут. Оригинальный вопрос, чтобы обнаружить, а затем второй вопрос внизу, закрыть. Я думаю, может быть, вопрос должен быть переписан, а затем спрошен. – Frank
@DavidG Я изложил свой комментарий. В отдельном процессе должна быть вызвана новая программа. Надеюсь, один без ошибок :-D – Frank
- 1. Как я могу получить уведомление о том, что окно активировано?
- 2. Как получить стек вызовов, когда моя программа WPF разбилась
- 3. Массив, из-за которого моя программа разбилась
- 4. два пробела в NSAttributedString, моя программа разбилась
- 5. Как можно получить уведомление о том, что изображение уловлено, Android
- 6. Как получить уведомление о том, что System.Threading.Tasks.Task завершил
- 7. Как получить уведомление о том, что приложение было запущено?
- 8. Уведомление о том, что поток уничтожен
- 9. Как я могу получить уведомление о том, что процесс выходит из Python с помощью PyQt?
- 10. Уведомление ведущего о том, что модель изменилась
- 11. Как найти, где программа разбилась
- 12. Уведомление о том, что импорт iCloud начался
- 13. Уведомление о том, что звук или вибрация?
- 14. Уведомление о том, что пользователи меняют информацию
- 15. Получить уведомление о том, что пользователь отключил контакты на iOS
- 16. Изначально ли программа распознала, что она разбилась?
- 17. Как я могу получить уведомление о выходе пользователя из системы?
- 18. Уведомление о том, что GridViewColumn изменил свою ActualWidth
- 19. nbandroid - как запустить отладчик, когда программа разбилась?
- 20. Сбор статистики о том, как используется программа
- 21. Уведомление о том, что клиент не завершил оплату в Paypal
- 22. Как проверить андроид, как программа разбилась?
- 23. Как я могу получить уведомление о завершении привязки?
- 24. Как я могу получить уведомление о завершении государственной машины?
- 25. Как я могу позаботиться о том, что -> после текста
- 26. Как я могу получить уведомление о Toast вне приложения?
- 27. Как я могу получить уведомление о завершении задачи dispatch_async?
- 28. Как получать уведомление о том, что активность заложена
- 29. Как я могу определить, была ли моя программа сосредоточенной?
- 30. Как я могу получить вывод о том, сколько раз программа зациклилась?
Возможный дубликат «Что такое обработка исключений и как это влияет на меня?» – CodeCaster
Не было бы лучше узнать, почему он не работает и не исправить это? – DavidG
DavidG прав. Однако мне кажется, что вы хотите отключить диалоговые окна отчетов об ошибках Windows, чтобы они не блокировали пакетный файл при перепрограммировании. Таким образом, это дубликат. http://stackoverflow.com/questions/12102982/disabling-windows-error-reportingappcrash-dialog-programmatically – spender