JavaScript'te [duplicate] birden çok hata türünü yakalayın
Bunun gibi özel hata sınıfları tanımlarsam:
class MyCustom Error extends Error{ }
Bunun gibi birden çok hatayı nasıl yakalayabilirim:
try{
if(something)
throw MyCustomError();
if(something_else)
throw Error('lalala');
}catch(MyCustomError err){
}catch(err){
}
?
Yukarıdaki kod çalışmıyor ve bazı sözdizimi hatası veriyor
Yanıtlar
1 TheOtterlord
MDN dokümanlar bir kullanılmasını önerir if/else
içindeki blok catch
deyimi. Bunun nedeni, birden çok catch
ifadeye sahip olmanın imkansız olmasıdır ve bu şekilde belirli hataları yakalayamazsınız.
try {
myroutine(); // may throw three types of exceptions
} catch (e) {
if (e instanceof TypeError) {
// statements to handle TypeError exceptions
} else if (e instanceof RangeError) {
// statements to handle RangeError exceptions
} else if (e instanceof EvalError) {
// statements to handle EvalError exceptions
} else {
// statements to handle any unspecified exceptions
logMyErrors(e); // pass exception object to error handler
}
}
1 Hi-IloveSO
JavaScript zayıf yazılmıştır. if (err instanceof MyCustomError)
Catch cümlesinin içinde kullanın .
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı