La gestion des erreurs est un aspect crucial de la programmation JavaScript pour garantir que les problèmes inattendus ne font pas planter votre application et sont traités avec élégance. JavaScript fournit les blocs try, catch et enfin pour gérer les erreurs d'exécution.
La syntaxe de base est :
try { // Code that may throw an error } catch (error) { // Code to handle the error } finally { // Code that runs regardless of success or failure }
Le bloc try est utilisé pour exécuter du code susceptible de générer une erreur. Si une erreur se produit, le contrôle passe au bloc catch.
try { const result = 10 / 0; console.log(result); // Infinity nonExistentFunction(); // This will throw an error } catch (error) { console.error("An error occurred:", error.message); }
Le bloc final est facultatif et s'exécute après les blocs try and catch, qu'une erreur se soit produite ou non.
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.
Vous pouvez imbriquer des blocs try-catch pour gérer les erreurs à différents niveaux.
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); }
Vous pouvez utiliser le mot-clé throw pour créer des erreurs personnalisées.
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); }
Lorsqu'une erreur se produit, un objet Error est transmis au bloc catch.
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; }
Évitez les blocs de capture vides :
Utiliser Enfin pour le nettoyage :
try { // Code that may throw an error } catch (error) { // Code to handle the error } finally { // Code that runs regardless of success or failure }
Une gestion efficace des erreurs garantit que votre application peut gérer des situations inattendues sans planter, ce qui conduit à une meilleure expérience utilisateur et à un code plus maintenable.
Bonjour, je m'appelle Abhay Singh Kathayat !
Je suis un développeur full-stack avec une expertise dans les technologies front-end et back-end. Je travaille avec une variété de langages et de frameworks de programmation pour créer des applications efficaces, évolutives et conviviales.
N'hésitez pas à me contacter à mon e-mail professionnel : kaashshorts28@gmail.com.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!