Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Изменяет __error_mode для определения отличного от используемого по умолчанию местоположения, куда среда выполнения C записывает сообщение об ошибке для ошибок, которые могут вызвать завершение программы.
Внимание
Этот API нельзя использовать в приложениях, выполняемых в среде выполнения Windows. Дополнительные сведения: Функции CRT, которые не поддерживаются в приложениях универсальной платформы Windows.
Синтаксис
int _set_error_mode(
int mode_val
);
Параметры
mode_val
Назначение сообщений об ошибках.
Возвращаемое значение
Возвращает старое значение или -1, если возникла ошибка.
Замечания
Управляет приемником потока ошибок, устанавливая значение __error_mode. Например, можно направить вывод в стандартную ошибку или использовать API MessageBox.
Параметру mode_val может быть присвоено одно из следующих значений:
| значение | Описание |
|---|---|
_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 отображает инструкцию, которая завершилась сбоем в диалоговом окне, и позволяет выбрать кнопку "Игнорировать", чтобы продолжить запуск программы.
Требования
| Маршрут | Обязательный заголовок |
|---|---|
_set_error_mode |
<stdlib.h> |
Пример
// crt_set_error_mode.c
#include <stdlib.h>
#include <assert.h>
int main()
{
_set_error_mode(_OUT_TO_STDERR);
assert(2+2==5);
}
Assertion failed: 2+2==5, file crt_set_error_mode.c, line 8
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.