Rumah >pembangunan bahagian belakang >C++ >Adakah C# `akhirnya` Sekat Sentiasa Laksanakan?
Adakah C# "akhirnya" Blok Sentiasa Dilaksanakan?
Pertimbangkan coretan kod berikut:
public void DoesThisExecute() { string ext = "xlsx"; string message = string.Empty; try { switch (ext) { case "xls": message = "Great choice!"; break; case "csv": message = "Better choice!"; break; case "exe": message = "Do not try to break me!"; break; default: message = "You will not win!"; return; } } catch (Exception) { // Handle an exception. } finally { MessageBox.Show(message); } }
Dalam contoh ini, blok "akhirnya" mengandungi panggilan ke MessageBox.Show(message).
Adakah blok "akhirnya" ini sentiasa dilaksanakan?
Tidak, tidak. Blok "akhirnya" hanya akan dilaksanakan jika aplikasi masih berjalan pada masa blok cuba/tangkap keluar. Khususnya, ia tidak akan dilaksanakan jika:
Adalah penting untuk ambil perhatian bahawa blok "akhirnya" direka untuk memastikan pelaksanaan tindakan penting, seperti pembersihan sumber atau maklumat log, walaupun pengecualian berlaku. Walau bagaimanapun, adalah penting untuk menyedari bahawa ia mungkin tidak dilaksanakan dalam semua senario, terutamanya kegagalan aplikasi yang membawa bencana.
Atas ialah kandungan terperinci Adakah C# `akhirnya` Sekat Sentiasa Laksanakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!