_set_error_mode

Memodifikasi __error_mode untuk menentukan lokasi non-default di mana runtime C menulis pesan kesalahan untuk kesalahan yang mungkin mengakhiri program.

Penting

API ini tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime. Untuk informasi selengkapnya, lihat Fungsi CRT yang tidak didukung di aplikasi Platform Windows Universal.

Sintaks

int _set_error_mode(
   int mode_val
);

Parameter

mode_val
Tujuan pesan kesalahan.

Nilai hasil

Mengembalikan pengaturan lama atau -1 jika terjadi kesalahan.

Keterangan

Mengontrol sink output kesalahan dengan mengatur nilai __error_mode. Misalnya, Anda dapat mengarahkan output ke kesalahan standar atau menggunakan MessageBox API.

Parameter mode_val dapat diatur ke salah satu nilai berikut.

Nilai Deskripsi
_OUT_TO_DEFAULT Sink kesalahan ditentukan oleh __app_type.
_OUT_TO_STDERR Kesalahan sink adalah kesalahan standar.
_OUT_TO_MSGBOX Sink kesalahan adalah kotak pesan.
_REPORT_ERRMODE Laporkan nilai saat ini __error_mode .

Jika nilai diteruskan di selain yang tercantum, handler parameter yang tidak valid dipanggil, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, _set_error_mode atur errno ke EINVAL dan kembalikan -1.

Ketika digunakan dengan assert, _set_error_mode menampilkan pernyataan yang gagal dalam kotak dialog, dan memberi Anda opsi untuk memilih tombol Abaikan , sehingga Anda dapat terus menjalankan program.

Persyaratan

Rutin Header yang diperlukan
_set_error_mode <stdlib.h>

Contoh

// 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);
}
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.

Baca juga

menegaskan Makro, _assert, _wassert