Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menangkap Pelbagai Pengecualian dengan Cekap dalam C#?

Bagaimanakah Saya Boleh Menangkap Pelbagai Pengecualian dengan Cekap dalam C#?

Barbara Streisand
Barbara Streisandasal
2025-01-20 23:13:12154semak imbas

How Can I Efficiently Catch Multiple Exceptions in C#?

Tangkap berbilang pengecualian pada masa yang sama

Apabila mengendalikan berbilang pengecualian yang diketahui dalam kod C#, ia boleh membosankan untuk menangkap dan mengendalikan setiap pengecualian secara individu. Contohnya, dalam senario yang disediakan:

<code class="language-csharp">try
{
    WebId = new Guid(queryString["web"]);
}
catch (FormatException)
{
    WebId = Guid.Empty;
}
catch (OverflowException)
{
    WebId = Guid.Empty;
}</code>

Untuk memudahkan proses ini, pertimbangkan untuk menggunakan blok tangkapan tunggal yang mengandungi semua kemungkinan pengecualian dan gunakan pernyataan suis untuk membezakan antara mereka:

<code class="language-csharp">catch (Exception ex)
{
    if (ex is FormatException || ex is OverflowException)
    {
        WebId = Guid.Empty;
    }
    else
    {
        throw;
    }
}</code>

Dalam kes ini, sebarang FormatException atau OverflowException yang dilemparkan akan dikendalikan dengan menetapkan WebId kepada Guid.Empty, manakala semua pengecualian lain akan dibenarkan untuk disebarkan. Pendekatan ini memudahkan kod sambil mengekalkan kawalan ke atas pengendalian pengecualian yang dijangkakan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menangkap Pelbagai Pengecualian dengan Cekap 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