Kode Kesalahan Terakhir

Ketika kesalahan terjadi, sebagian besar fungsi sistem mengembalikan kode kesalahan, biasanya 0, NULL, atau –1. Banyak fungsi sistem juga mengatur kode kesalahan tambahan yang disebut kode kesalahan terakhir. Kode kesalahan ini dipertahankan secara terpisah untuk setiap utas yang berjalan; kesalahan dalam satu utas tidak menimpa kode kesalahan terakhir di utas lain. Fungsi apa pun dapat memanggil fungsi SetLastError atau SetLastErrorEx untuk mengatur kode kesalahan terakhir untuk utas saat ini. Fungsi-fungsi ini ditujukan terutama untuk pustaka tautan dinamis (DLL), sehingga mereka dapat memberikan informasi ke aplikasi panggilan. Perhatikan bahwa beberapa fungsi memanggil SetLastError atau SetLastErrorEx dengan 0 ketika berhasil, menghapus kode kesalahan yang ditetapkan oleh fungsi yang terakhir gagal, sementara yang lain tidak.

Aplikasi dapat mengambil kode kesalahan terakhir dengan menggunakan fungsi GetLastError ; kode kesalahan dapat memberi tahu lebih banyak tentang apa yang sebenarnya terjadi untuk membuat fungsi gagal. Dokumentasi untuk fungsi sistem akan menunjukkan kondisi di mana fungsi mengatur kode kesalahan terakhir.

Sistem mendefinisikan sekumpulan kode kesalahan yang dapat diatur sebagai kode kesalahan terakhir atau dikembalikan oleh fungsi-fungsi ini. Kode kesalahan adalah nilai 32-bit (bit 31 adalah bit yang paling signifikan). Bit 29 dicadangkan untuk kode kesalahan yang ditentukan aplikasi; tidak ada kode kesalahan sistem yang memiliki set bit ini. Jika Anda menentukan kode kesalahan untuk aplikasi Anda, atur bit ini untuk menunjukkan bahwa kode kesalahan telah ditentukan oleh aplikasi dan untuk memastikan bahwa kode kesalahan tidak berkonflik dengan kode kesalahan yang ditentukan sistem. Untuk informasi selengkapnya, lihat WinError.h dan Kode Kesalahan Sistem.