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 .
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
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'
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'