Isi kandungan:
Definisi - Apakah Blok Catch bermaksud?
Blok tangkapan, dalam C #, merupakan blok pilihan kod yang dilaksanakan apabila pengecualian dibangkitkan.
Blok penangkapan adalah bahagian khusus dari pembinaan pengendalian yang luar biasa, dan dilaksanakan menggunakan kata kunci "menangkap" dalam kombinasi dengan kata kunci "cuba" dan "akhirnya" dan membentuk cara untuk melaksanakan pengendalian pengecualian berstruktur. Blok cuba termasuk kod yang dijaga yang boleh menyebabkan pengecualian. Ia melampirkan pernyataan yang menangani keadaan luar biasa dan berfungsi untuk pulih dari keadaan yang tidak dijangka itu.
Blok penangkapan membentuk cara untuk mengendalikan pengecualian. Jika ini tidak ditangani, ini boleh menyebabkan penamatan keseluruhan program oleh masa lalai NET. Blok tangkapan boleh digunakan untuk mengendalikan sebarang pengecualian atau spesifik.
Techopedia menerangkan Blok Catch
Model pengendalian pengecualian Common Language Runtime (CLR) membolehkan lebih daripada satu blok tangkapan, yang masing-masing direka untuk mengatasi pengecualian tertentu. Apabila pengecualian berlaku, CLR mencari blok tangkapan yang mengendalikan pengecualian. Jika kaedah yang sedang dijalankan tidak mengandungi blok sedemikian, CLR mencarinya dalam kaedah yang memanggil kaedah semasa sehingga timbunan panggilan. Sekiranya tidak terdapat klausa yang hampir sama untuk pengecualian dalam keseluruhan kod, pelaksanaan thread dihentikan, dan mesej pengecualian tidak ditangani dipaparkan kepada pengguna.
Berikut ialah beberapa petua yang berkaitan dengan penggunaan blok tangkapan:
- Jenis pengecualian harus ditentukan pada blok tangkapan hanya selepas alasan di sebalik berlakunya pengecualian yang tidak dapat dikesan khusus (seperti kegagalan sistem bencana, penyalahgunaan API, dan sebagainya) telah ditentukan dan pemulihan telah dilaksanakan tanpa meninggalkan aplikasi dalam keadaan tidak konsisten atau keadaan tidak sah.
- Blok tangkapan harus diposisikan agar pengecualian yang lebih khusus harus ditangkap sebelum yang kurang spesifik.
- Blok menangkap tanpa parameter dirujuk sebagai "pengecualian makan" kerana ini dapat menekan masalah yang teruk yang sukar untuk debug.
- Blok menangkap boleh dipusatkan supaya dapat menangani pengecualian dari lokasi pusat.
- Kenyataan "membuang" boleh digunakan dalam blok tangkapan yang mana objek pengecualian yang sama dilemparkan dalam lemparan boleh diluluskan lagi semasa menyusun semula.
- Pembolehubah yang diisytiharkan dalam blok cuba tidak boleh digunakan di luarnya.
- Kod tidak akan disambung semula ke blok percubaan selepas blok tangkapan telah dilaksanakan.
- Menguji kod pengendali pengecualian dalam blok tangkapan adalah penting untuk mengelakkan pecah aplikasi.
- Blok penangkapan tidak boleh digunakan untuk kod pembersihan.
- Blok penangkapan tanpa parameter tidak boleh digunakan untuk mengendalikan pengecualian yang tidak mematuhi Sistem Bahasa Umum (yang tidak berasal dari System.Exception).