Есть ли способ отключить все диалоговые окна при возникновении исключения или ошибки (например, нарушения доступа, ошибки сокета, тайм-ауты и т. Д.)? Они иногда возникают в моей программе, но эти ошибки никоим образом не являются фатальными и могут быть проигнорированы, только диалоговые окна тревожат. Я использую Delphi 7.Как отключить все исключения в Delphi?
ответ
Обход события Application.OnException. Однако я бы не рекомендовал скрывать все исключения, ИМХО, что плохой дизайн.
Вы можете настроить событие Application.OnException. Но IMVHO ...
- Application.OnException подходит для журналов исключений, которые вы забыли обработать.
- Application.OnException следует использовать для исключения исключений только тогда, когда вам отчаянно требуется производительность (в этом случае вы должны ожидать прерывания путей выполнения).
И:
- нарушения доступа фатальные ошибки - вы должны отслеживать и избавиться от всех AV-х.
- Вы не можете скрывать диалоговые окна исключений только с помощью Application.OnException override - вы должны использовать try finally/except в правильном направлении.
«Вы не можете просто подбирать исключения под ковром, как это - вы должны использовать try finally/except in right way». Ну, правильный путь - не использовать 'try/except' ..... –
@DavidHeffernan try/except полностью действителен, если вы использовали его правильно. Например. не для подметания под ковриком со всем покрытием try..except end ;, но с фактической обработкой различных исключений. – Harriv
@DavidHeffernan: Вы имеете в виду try {...} кроме {обращение с любым возможным исключением} end или есть что-то не так с try {}, кроме E: ESpecificException do {обрабатывать только определенное исключение} end, о котором я не знаю? – g2mk
Если вы просто не привыкла показывать окно исключений затем перейти к:
Tools/Options/Debugger Options/Language Исключения и отключить CheckBox Уведомить об исключениях языка , Это недопустимо для Delphi 2010.
(Я не помню, если это тот же CheckBox в Delphi 7).
EDIT: В некоторых случаях исключения неизбежны, особенно когда мы работаем с неизвестными файлами из Интернета. Таким образом, я считаю, что ваши исключения обрабатываются должным образом под Инди, просто выключение Уведомлять об исключениях языка
В Delphi 7 аналогичные инструменты -> Параметры отладчика -> Исключения языка -> Отключить «Остановить на исключениях Delphi» – Hendra
@ GJ - Delphi 2007 имеет тот флажок. Но опять же, как было упомянуто выше, нарушение прав доступа не является тем исключением, которое следует игнорировать.
- 1. отключить исключения delphi во время выполнения в delphi
- 2. Отключить все исключения исключений html в рельсах
- 3. Как поднять исключения в Delphi?
- 4. Как оформлять исключения в Delphi?
- 5. Исключения маскировки в Delphi
- 6. Delphi - Как исключить/отключить все значения в наборе?
- 7. Внешнее EEFFACE Исключения в Delphi
- 8. Отключить ECO в Delphi
- 9. Отключить исключения в BOOST?
- 10. Механизм исключения потоков Delphi
- 11. Создание исключения NonContinuable в delphi
- 12. Замечание общего исключения Delphi
- 13. Исключения и DLL в Delphi
- 14. Как отключить autorefcount в Delphi XE7?
- 15. Как отключить unicode в Delphi xe2
- 16. Как отключить службу через Delphi?
- 17. Delphi XE6 - Как отключить AQTime?
- 18. Отключить все сообщения об ошибках времени выполнения в Delphi?
- 19. как обрабатывать все исключения
- 20. OpenCV - отключить печать Исключения
- 21. Отключить сочетание клавиш (delphi)
- 22. Как отключить отображение предложений в Delphi
- 23. Как отключить кнопку максимизации в программе delphi?
- 24. Как отключить окно CPU в Delphi 7
- 25. Как отключить окно разборки в delphi?
- 26. Как отключить стили VCL в Delphi
- 27. Как отключить Formatter в Delphi 2010
- 28. Как отключить исключения в приложении Rack?
- 29. Локальные исключения WMI внутри Delphi
- 30. TMonthCalendar delphi - отключить кнопки
Вы можете поймать все исключения, но это совершенно неправильно, и написать такой код - это полное отсутствие профессионализма. Нарушение доступа всегда что-то не так и должно быть обработано. – LukLed
Разве вам не кажется, что вам может быть лучше исправить ошибки в вашей программе? Предложение о том, что нарушения прав доступа можно просто игнорировать, совершенно странно. У вашей программы есть ошибки, и соответствующие действия - исправить их. –
Вы правы в нарушениях доступа, возможно, это было что-то другое (я не помню, это происходит очень редко). Я знаю, что у него много ошибок, это что-то вроде 0,1 предварительной альфа-версии бота, выполняющего повторяющиеся задачи, похожие на краудсорсинг, множество ошибок, но он уже выполняет свою работу. Я просто хотел, чтобы временное решение выполняло его более безупречно, прежде чем я оптимизирую все. В любом случае спасибо за ответы. – user1262737