Error nesnesi
Error nesnesinin message ve name özelliklerini ve nasıl oluşturulacağını öğrenirsin.
Error nesnesi
JavaScript'te Error bir nesnedir ve new Error("mesaj") şeklinde oluşturulur. Oluşturulan nesnenin message özelliği verdiğin metni, name özelliği ise hata türünü (varsayılan olarak "Error") taşır.
Örnek: const err = new Error("Geçersiz giriş"). Burada err.message dizesi "Geçersiz giriş", err.name ise "Error" olur. throw ile fırlatıldığında catch bloğu bu nesneyi alır; böylece hatanın nedenini ve türünü öğrenebilirsin.
message ve name özellikleri
Error nesnesinin en sık kullanılan iki özelliği message ve name'dir. message, oluştururken verdiğin metni taşır; name ise hata sınıfının adını verir.
Örneğin new TypeError("X") oluşturduğunda name özelliği "TypeError" olur. Bu ayrım catch bloğunda hata türüne göre farklı işlemler yapmanı sağlar. Hata nesnesinin stack özelliği de vardır; bu, hatanın nereden geldiğini gösteren yığın izidir (stack trace) ve hata ayıklamada çok yararlıdır.
Uygulama Error nesnesi oluştur ve fırlat
validateEmail adında bir fonksiyon tanımla. email parametresi alsın. Gövdede if (!email.includes("@")) koşuluyla kontrol et; koşul sağlandığında throw new Error("Geçersiz e-posta") çağrısı yapsın. Sonra bu fonksiyonu try bloğu içinde validateEmail("test") şeklinde çağır; catch (e) bloğunda console.error(e.name, e.message) çağrısı yapsın.
Örnek çözümü göster
function validateEmail(email) {
if (!email.includes("@")) {
throw new Error("Geçersiz e-posta");
}
}
try {
validateEmail("test");
} catch (e) {
console.error(e.name, e.message);
}
Kendini test et
-
Error nesnesinin name özelliği varsayılan olarak nedir?
const err = new Error("X"); console.log(err.name);- "Error"
- "Exception"
- "TypeError"
- "Unknown"
Cevabı göster
"Error" — Doğru. Yeni bir Error nesnesinin name özelliği varsayılan olarak "Error" olur.
-
Error nesnesini oluştur
const err = ____("Geçersiz giriş"); console.log(err.message);Cevabı göster
const err = new Error("Geçersiz giriş"); console.log(err.message); -
Error özelliklerini anlamına eşleştir
- err.message
- Hata metni
- err.name
- Hata türü adı
- err.stack
- Yığın izi
- new Error("X")
- Yeni hata nesnesi