_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.