Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan penapis pengecualian dan pengendalian pengecualian dalam C#

Cara menggunakan penapis pengecualian dan pengendalian pengecualian dalam C#

WBOY
WBOYasal
2023-10-08 09:01:011105semak imbas

Cara menggunakan penapis pengecualian dan pengendalian pengecualian dalam C#

Cara menggunakan penapis pengecualian dan pengendalian pengecualian dalam C#, anda memerlukan contoh kod khusus

Pengecualian ialah ralat atau ralat yang berlaku semasa berjalan keadaan yang tidak dijangka. Dalam C#, pengecualian dikendalikan dengan melempar dan menangkap. Pengendalian pengecualian adalah bahagian penting dalam memastikan operasi normal program.

Dalam C#, penapis pengecualian dan pengendalian pengecualian ialah dua cara biasa untuk mengendalikan pengecualian. Penapis pengecualian membolehkan kami menapis dan mengendalikan pengecualian sebelum menangkapnya. Ia menggunakan kata kunci bila untuk menentukan syarat bagi penapis pengecualian. Berikut ialah contoh:

try
{
    // 可能抛出异常的代码块
    int a = 10;
    int b = 0;
    int result = a / b;
}
catch (Exception ex) when (ex is DivideByZeroException)
{
    // 异常过滤器,仅处理除零异常
    Console.WriteLine("除零异常:" + ex.Message);
}
catch (Exception ex)
{
    // 其他类型的异常
    Console.WriteLine("其他异常:" + ex.Message);
}

Dalam contoh di atas, kami menggunakan penapis pengecualian untuk menangkap dan mengendalikan pengecualian bahagi dengan sifar. Jika pengecualian yang dilemparkan adalah jenis DivideByZeroException, kod dalam blok tangkapan pertama akan dilaksanakan. Jika ia adalah pengecualian jenis lain, kod dalam blok tangkapan kedua akan dilaksanakan.

Perlu diambil perhatian bahawa penapis pengecualian mestilah ungkapan Boolean yang mengembalikan benar atau salah. Jika benar dikembalikan, ini bermakna pengecualian memenuhi syarat penapis dan akan ditangkap dan dikendalikan. Jika palsu dikembalikan, pengecualian akan terus dilemparkan ke atas timbunan panggilan.

Kaedah pengendalian pengecualian biasa yang lain ialah menggunakan blok akhirnya. Kod dalam blok akhirnya akan dilaksanakan tanpa mengira sama ada pengecualian berlaku. Berikut ialah contoh:

FileStream file = null;
try
{
    file = new FileStream("file.txt", FileMode.Open);
    // 文件操作
}
catch (FileNotFoundException ex)
{
    Console.WriteLine("文件未找到:" + ex.Message);
}
finally
{
    // 无论是否出现异常,都会关闭文件流
    file?.Close();
}

Dalam contoh di atas, kami membuka strim fail dalam blok percubaan dan kemudian melaksanakan operasi fail. Jika FileNotFoundException berlaku, kod dalam blok tangkapan akan dilaksanakan. Jika tiada pengecualian berlaku, kod dalam blok akhirnya akan dilaksanakan untuk menutup aliran fail.

Pengendalian pengecualian membolehkan kami mengendalikan dan memulihkan dengan sewajarnya apabila ralat program berlaku. Penapis pengecualian dan pengendalian pengecualian ialah dua cara yang biasa digunakan untuk mengendalikan pengecualian dalam C#. Gunakan teknik ini untuk meningkatkan keteguhan dan kestabilan program anda.

Saya harap contoh kod di atas dapat membantu anda memahami cara menggunakan penapis pengecualian dan pengendalian pengecualian dalam C#. Dalam proses pengekodan sebenar, anda boleh memilih kaedah pengendalian pengecualian yang sesuai untuk mengendalikan pengecualian mengikut keperluan dan situasi tertentu.

Atas ialah kandungan terperinci Cara menggunakan penapis pengecualian dan pengendalian pengecualian dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn