Pengendalian ralat ialah aspek penting dalam pengaturcaraan JavaScript untuk memastikan bahawa isu yang tidak dijangka tidak merosakkan aplikasi anda dan ditangani dengan baik. JavaScript menyediakan try, catch, dan akhirnya menyekat untuk mengendalikan ralat masa jalan.
Sintaks asas ialah:
try { // Code that may throw an error } catch (error) { // Code to handle the error } finally { // Code that runs regardless of success or failure }
Blok cuba digunakan untuk melaksanakan kod yang mungkin menimbulkan ralat. Jika ralat berlaku, kawalan dihantar ke blok tangkapan.
try { const result = 10 / 0; console.log(result); // Infinity nonExistentFunction(); // This will throw an error } catch (error) { console.error("An error occurred:", error.message); }
Blok akhirnya adalah pilihan dan dijalankan selepas blok cuba dan tangkap, tidak kira sama ada ralat berlaku atau tidak.
try { console.log("Trying..."); throw new Error("Something went wrong!"); } catch (error) { console.error("Caught an error:", error.message); } finally { console.log("Execution completed."); } // Output: // Trying... // Caught an error: Something went wrong! // Execution completed.
Anda boleh menyusun blok cuba-tangkap untuk mengendalikan ralat pada tahap yang berbeza.
try { try { throw new Error("Inner error"); } catch (innerError) { console.error("Caught inner error:", innerError.message); throw new Error("Outer error"); } } catch (outerError) { console.error("Caught outer error:", outerError.message); }
Anda boleh menggunakan kata kunci lontaran untuk membuat ralat tersuai.
function divide(a, b) { if (b === 0) { throw new Error("Division by zero is not allowed."); } return a / b; } try { console.log(divide(10, 0)); } catch (error) { console.error("Error:", error.message); }
Apabila ralat berlaku, objek Ralat dihantar ke blok tangkapan.
try { undefinedFunction(); } catch (error) { console.log("Name:", error.name); // ReferenceError console.log("Message:", error.message); // undefinedFunction is not defined console.log("Stack:", error.stack); // Stack trace }
try { // Code } catch (error) { if (error instanceof TypeError) { console.error("Type Error:", error.message); } else { console.error("Other Error:", error.message); } }
try { const data = fetchData(); } catch (error) { console.error("Failed to fetch data. Using defaults."); const data = defaultData; }
Elakkan Blok Tangkapan Kosong:
Gunakan Akhirnya untuk Pembersihan:
try { // Code that may throw an error } catch (error) { // Code to handle the error } finally { // Code that runs regardless of success or failure }
Pengendalian ralat yang berkesan memastikan aplikasi anda boleh mengendalikan situasi yang tidak dijangka tanpa ranap, membawa kepada pengalaman pengguna yang lebih baik dan kod yang lebih boleh diselenggara.
Hai, saya Abhay Singh Kathayat!
Saya seorang pembangun timbunan penuh dengan kepakaran dalam kedua-dua teknologi hadapan dan belakang. Saya bekerja dengan pelbagai bahasa pengaturcaraan dan rangka kerja untuk membina aplikasi yang cekap, berskala dan mesra pengguna.
Jangan ragu untuk menghubungi saya melalui e-mel perniagaan saya: kaashshorts28@gmail.com.
Atas ialah kandungan terperinci Menguasai Pengendalian Ralat dalam JavaScript: Cuba, Tangkap, dan Akhir sekali. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!