JavaScript atma İfadesi

Bu eğiticide, örnekler yardımıyla JavaScript atma ifadeleri hakkında bilgi edineceksiniz.

Önceki öğreticide, JavaScript try… catch deyimini kullanarak istisnaları ele almayı öğrendiniz. Try ve catch deyimleri, istisnaları JavaScript tarafından sağlanan standart bir şekilde ele alır. Ancak, throwkullanıcı tanımlı istisnaları geçmek için ifadeyi kullanabilirsiniz .

JavaScript'te throwifade, kullanıcı tanımlı istisnaları işler. Örneğin, belirli bir sayı 0'a bölünürse ve Infinitybir istisna olarak düşünmeniz gerekirse , throwbu istisnayı işlemek için ifadeyi kullanabilirsiniz .

JavaScript atma ifadesi

Throw ifadesinin sözdizimi şöyledir:

 throw expression;

Burada expressionistisnanın değerini belirtir.

Örneğin,

 const number = 5; throw number/0; // generate an exception when divided by 0

Not : İfade dize, mantıksal değer, sayı veya nesne değeri olabilir.

JavaScript ile deneyin… catch

Sözdizimi try… catch… throwşöyledir:

 try ( // body of try throw exception; ) catch(error) ( // body of catch )

Not : throw ifadesi yürütüldüğünde, bloktan çıkar ve bloğa gider catch. Ve throwifadenin altındaki kod çalıştırılmaz.

Örnek 1: dene… yakala… fırlat Örnek

 const number = 40; try ( if(number> 50) ( console.log('Success'); ) else ( // user-defined throw statement throw new Error('The number is low'); ) // if throw executes, the below code does not execute console.log('hello'); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); )

Çıktı

 Bir hata yakalandı Hata mesajı: Hata: Sayı düşük

Yukarıdaki programda bir koşul kontrol edilir. Sayı 51'den küçükse , bir hata atılır. Ve bu hata, throwifade kullanılarak atılır .

throwDeyim dizelerini belirten The number is lowbir ifadesi olarak.

Not : Ayrıca standart hatalar için diğer yerleşik hata kurucular kullanabilirsiniz: TypeError, SyntaxError, ReferenceError, EvalError, InternalError, ve RangeError.

Örneğin,

 throw new ReferenceError('this is reference error');

Bir İstisnayı Yeniden Atın

Bir istisnayı yeniden atmak throwiçin catchbloğun içindeki ifadeyi de kullanabilirsiniz . Örneğin,

 const number = 5; try ( // user-defined throw statement throw new Error('This is the throw'); ) catch(error) ( console.log('An error caught'); if( number + 8> 10) ( // statements to handle exceptions console.log('Error message: ' + error); console.log('Error resolved'); ) else ( // cannot handle the exception // rethrow the exception throw new Error('The value is low'); ) )

Çıktı

 Bir hata yakalandı Hata mesajı: Hata: Bu, fırlatma hatasıdır Hata çözüldü

Yukarıdaki programda, throwifade tryblok içinde bir istisnayı yakalamak için kullanılır . Ve throwifade, catchblok catchistisnayı işleyemezse çalıştırılan blokta yeniden atılır .

Burada catchblok istisnayı ele alır ve hata oluşmaz. Bu nedenle, throwifade yeniden yazılmaz.

Hata catch bloğu tarafından işlenmediyse, throw ifadesi Yakalanmamış Hata: Değer düşük hata mesajı ile yeniden atılır

Ilginç makaleler...