Menangkap Semua Pengecualian dalam C
Di Java, blok cuba-tangkap membolehkan pembangun mengendalikan pengecualian dengan anggun. Pernyataan tangkapan (Throwable t) menangkap semua pengecualian. Begitu juga, dalam C , blok kod berikut menangkap semua pengecualian:
<code class="cpp">try { // ... } catch (...) { // ... }</code>
Walaupun mekanisme ini mungkin berguna untuk tujuan nyahpepijat, ia secara amnya dianggap reka bentuk yang buruk. Dalam C , adalah lebih baik untuk menangkap pengecualian tertentu dan mengendalikan setiap satu dengan sewajarnya.
Walau bagaimanapun, jika anda menggunakan kod warisan yang memerlukan penulisan semula atau tidak dapat menggunakan mekanisme C 11 std::current_exception, anda boleh tambahkan klausa tangkapan berasingan untuk pengecualian yang diketahui dan tangkap sebarang pengecualian yang tidak dijangka pada penghujung:
<code class="cpp">try { // ... } catch (const std::exception& ex) { // ... } catch (const std::string& ex) { // ... } catch (...) { // ... }</code>
Dengan berbuat demikian, anda boleh mengenal pasti pengecualian khusus yang berlaku dan mengendalikannya dengan sewajarnya.
Atas ialah kandungan terperinci Berikut ialah beberapa pilihan tajuk, daripada luas hingga khusus: luas: * Bagaimana Mengendalikan Pengecualian dalam C : Menangkap Semua atau Hanya Yang Tertentu? * Pengendalian Pengecualian dalam C : Amalan Terbaik untuk Menangkap E. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!