_set_error_mode
Изменяет __error_mode для указания расположения не по умолчанию, где среда выполнения C записывает сообщение об ошибке для ошибок, которые могут вызвать завершение программы.
Важно!
Этот API не может использоваться в приложениях, выполняемых в Среда выполнения Windows.Дополнительные сведения см. в статье Функции CRT, которые не поддерживаются с ключом /ZW.
int _set_error_mode(
int modeval
);
Параметры
- modeval
Назначение сообщений об ошибках.
Возвращаемое значение
Возвращает старый параметр или -1 при возникновении ошибки.
Заметки
Управляет приемником потока ошибок, устанавливая значение __error_mode. Например, можно напрямую вывести в стандартный поток ошибок или использовать API MessageBox.
Параметр modeval может иметь одно из следующих значений.
Параметр |
Описание |
---|---|
_OUT_TO_DEFAULT |
Приемник ошибок определяется __app_type. |
_OUT_TO_STDERR |
Приемник ошибок является стандартной ошибкой. |
_OUT_TO_MSGBOX |
Приемник ошибок является окном сообщения. |
_REPORT_ERRMODE |
Сообщить о текущем значении __error_mode. |
Если передается значение, отличное от перечисленных, вызывается обработчик недопустимого параметра, как описано в разделе Проверка параметров. Если выполнение может быть продолжено, то_set_error_mode устанавливает errno в EINVAL и возвращает -1.
При использовании с assert, _set_error_mode отображает невыполненное утверждение в диалоговом окне и предоставляет возможность выбора кнопки Ignore, таким образом, можно продолжить выполнение программы.
Требования
Подпрограмма |
Обязательный заголовок |
---|---|
_set_error_mode |
<stdlib.h> |
Пример
// crt_set_error_mode.c
// compile with: /c
#include <stdlib.h>
#include <assert.h>
int main()
{
_set_error_mode(_OUT_TO_STDERR);
assert(2+2==5);
}