JavaScript'te [duplicate] birden çok hata türünü yakalayın
Aug 16 2020
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 Aug 16 2020 at 15:37
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 Aug 16 2020 at 15:38
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ı
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'