Apabila menggunakan perpustakaan tidak terurus, anda mungkin menghadapi pengecualian asli. Pengecualian ini berasal daripada kod asas dan berbeza daripada pengecualian yang dilemparkan oleh .NET Framework.
Anda sememangnya boleh menangkap pengecualian asli dalam kod C# menggunakan kelas Win32Exception. Kelas ini menyediakan maklumat tambahan tentang pengecualian, termasuk kod ralat aslinya melalui sifat NativeErrorCode.
Untuk mengendalikan pengecualian asli dengan berkesan, anda boleh menggunakan try...catch block seperti berikut:
const int ERROR_FILE_NOT_FOUND = 2; const int ERROR_ACCESS_DENIED = 5; const int ERROR_NO_APP_ASSOCIATED = 1155; void OpenFile(string filePath) { Process process = new Process(); try { // Attempt to open the file using a native application process.StartInfo.FileName = filePath; process.StartInfo.Verb = "Open"; process.StartInfo.CreateNoWindow = true; process.Start(); } catch (Win32Exception e) { // Handle specific native error codes switch (e.NativeErrorCode) { case ERROR_FILE_NOT_FOUND: case ERROR_ACCESS_DENIED: case ERROR_NO_APP_ASSOCIATED: MessageBox.Show(this, e.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); break; } } }
Contoh ini mengendalikan kod ralat asli biasa apabila cuba membuka fail dan memaparkan mesej ralat yang sesuai kepada pengguna.
Untuk pengendalian pengecualian menyeluruh, adalah penting untuk merujuk dokumentasi pustaka tidak terurus khusus yang anda gunakan untuk menentukan kemungkinan ralat asli yang mungkin berlaku.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menangkap dan Mengendalikan Pengecualian Asli dalam C# Apabila Berinteraksi dengan Perpustakaan Tidak Terurus?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!