Error.name प्रॉपर्टी त्रुटि के कंस्ट्रक्टर का नाम लौटाती है (जैसे "Error", "TypeError", "ReferenceError", "SyntaxError")। यह प्रोग्रामेटिक त्रुटि वर्गीकरण के लिए उपयोगी है।
उदाहरण
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>
body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; padding: 20px; }
.sample { font-size: 18px; font-weight: 500; }
button { padding: 10px 20px; background: #dc3545; color: white; border: none; border-radius: 4px; cursor: pointer; }
</style> </head> <body>
<h1>JavaScript Error.name प्रॉपर्टी</h1>
<div class="sample"></div>
<button class="Btn">त्रुटि नाम देखें</button>
<h3>ऊपर दिए गए बटन पर क्लिक करके त्रुटि नाम देखें</h3>
<script>
const sampleEle = document.querySelector(".sample");
document.querySelector(".Btn").addEventListener("click", () => {
try {
confrm("क्या आप निश्चित हैं?"); // जानबूझकर टाइपो
} catch (e) {
sampleEle.innerHTML = "त्रुटि नाम: " + e.name + "<br>";
sampleEle.innerHTML += "त्रुटि संदेश: " + e.message;
}
});
</script> </body> </html>
आउटपुट
क्लिक करने पर: त्रुटि नाम: ReferenceErrorत्रुटि संदेश: confrm is not defined
मानक JavaScript त्रुटि प्रकार
| त्रुटि प्रकार | नाम | सामान्य कारण |
|---|---|---|
Error | "Error" | सामान्य आधार वर्ग |
EvalError | "EvalError" | eval() संबंधी (दुर्लभ) |
RangeError | "RangeError" | संख्या सीमा से बाहर |
ReferenceError | "ReferenceError" | अघोषित वेरिएबल |
SyntaxError | "SyntaxError" | पार्सिंग त्रुटि |
TypeError | "TypeError" | गलत प्रकार पर ऑपरेशन |
URIError | "URIError" | URI फंक्शन मिसयूज |
AggregateError | "AggregateError" | एकाधिक त्रुटियां (Promise.allSettled) |
कस्टम त्रुटि वर्ग
class ValidationError extends Error {
constructor(message, field) {
super(message);
this.name = "ValidationError";
this.field = field;
}
}
try {
throw new ValidationError("ईमेल अमान्य है", "email");
} catch (e) {
console.log(e.name); // "ValidationError"
console.log(e.field); // "email"
console.log(e.message); // "ईमेल अमान्य है"
}
व्यावहारिक उपयोग
function handleError(error) {
switch (error.name) {
case "ValidationError":
showFieldError(error.field, error.message);
break;
case "NetworkError":
showOfflineMessage();
break;
case "AuthError":
redirectToLogin();
break;
default:
logError(error);
showGenericError();
}
}