Compiler Warning (level 1) C4532
'lanjutkan' : lompat keluar dari __finally/akhirnya blok memiliki perilaku yang tidak ditentukan selama penanganan penghentian
Keterangan
Pengkompilasi menemukan salah satu kata kunci berikut:
menyebabkan lompatan keluar dari atau __finally
finally
blok selama penghentian abnormal.
Jika pengecualian terjadi, dan saat tumpukan sedang tidak digunakan selama eksekusi penangan penghentian ( __finally
atau akhirnya memblokir), dan kode Anda melompat keluar dari __finally
blok sebelum __finally
blok berakhir, perilaku tidak ditentukan. Kontrol mungkin tidak kembali ke kode unwinding, sehingga pengecualian mungkin tidak ditangani dengan benar.
Jika Anda harus melompat keluar dari __finally
blok, periksa penghentian abnormal terlebih dahulu.
/sdl
Opsi kompilator (Aktifkan Pemeriksaan Keamanan Tambahan) meningkatkan peringatan ini menjadi kesalahan.
Contoh
Sampel berikut menghasilkan C4532; hapus atau komentari pernyataan lompat untuk menyelesaikan peringatan.
// C4532.cpp
// compile with: /W1
// C4532 expected
int main() {
int i;
for (i = 0; i < 10; i++) {
__try {
} __finally {
// Delete the following line to resolve.
continue;
}
__try {
} __finally {
// Delete the following line to resolve.
break;
}
}
}