PureBasic

OnErrorDefault()

Синтаксис

OnErrorDefault()

Описание


Заменяет действие, выполняемое когда произошла ошибка, обратно на системное умолчание. Обычно это означает отображение диалога ошибки и выход из программы, но также это может означать игнорирование определённых ошибок. Чтобы при любой ошибке программа завершалась, воспользуйтесь функцией OnErrorExit().

Параметры

Ничего.

Возвращаемое значение

Ничего.

Комментарии

При использовании библиотеки OnError внутри DLL лучшей практикой является установка обработчика ошибок в начале каждой опубликованной функции dll и сброс его обратно к умолчанию с помощью этой команды перед возвратом, чтобы гарантировать отсутствие конфликтов между библиотекой OnError и какой-либо обработкой исключений, выполняемой вызывающей программой.

Пример

Procedure ErrorHandler()
    MessageRequester("Тест OnError", "Произошла следующая ошибка: " + ErrorMessage())
EndProcedure

MessageRequester("Тест OnError", "Начать тест")

OnErrorCall(@ErrorHandler())
OnErrorDefault() ; Закомментируйте это чтобы получить вызов обработчика вместо системной обработки ошибок
PokeS(10, "Привет мир") ; Вызовет ошибку #PB_OnError_InvalidMemory

MessageRequester("Тест OnError", "Это не должно отобразиться")

Поддерживаемые OS

Все

<- OnErrorCall() - Оглавление OnError - OnErrorExit()->