JavaScript try ... catch ... nihayet İfadesi

Bu eğiticide, örnekler yardımıyla JavaScript'teki istisnaları ele almak için try… catch… nihayet ifadelerini öğreneceksiniz.

try, catchVe finallybloklar durumları (bir hatanın tipi) işlemek için kullanılır. Bunları öğrenmeden önce, programlamadaki hata türlerini bilmeniz gerekir.

Hata Türleri

Programlamada, kodda iki tür hata olabilir:

Sözdizimi Hatası : Söz diziminde hata. Örneğin, yazarsanız consol.log('your result');, yukarıdaki program bir sözdizimi hatası verir. Yazımı consoleyukarıdaki kodda bir hatadır.

Çalışma Zamanı Hatası : Bu tür bir hata, programın yürütülmesi sırasında ortaya çıkar. Örneğin,
geçersiz bir işlevi veya bir değişkeni çağırmak.

Çalışma sırasında ortaya çıkan bu hatalara istisnalar denir . Şimdi bu istisnaları nasıl ele alabileceğinizi görelim.

JavaScript deneyin… catch İfadesi

try… catchİfadesi istisnalar işlemek için kullanılır. Sözdizimi şöyledir:

 try ( // body of try ) catch(error) ( // body of catch )

Ana kod trybloğun içindedir . tryBlok yürütülürken herhangi bir hata oluşursa catchbloğa gider . catchBlok yakalamak tablolara göre hataları ele alır.

Hata oluşmazsa, trybloğun içindeki kod yürütülür ve catchblok atlanır.

Örnek 1: Belirtilmemiş Değişkeni Görüntüle

 // program to show try… catch in a program const numerator= 100, denominator = 'a'; try ( console.log(numerator/denominator); // forgot to define variable a console.log(a); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); )

Çıktı

 NaN Bir hata yakalandı Hata mesajı: ReferenceError: a tanımlı değil

Yukarıdaki programda bir değişken tanımlanmamıştır. Bir değişkeni yazdırmaya çalıştığınızda, program bir hata verir. Bu hata catchblokta yakalandı .

JavaScript deneyin… yakalamak… nihayet İfade

try… catch… finallyİfadeyi istisnaları işlemek için de kullanabilirsiniz . finallyKod başarıyla ya da bir hata meydana gelmesi durumunda çalıştırdığında blok hem de yürütür.

try… catch… finallyBloğun sözdizimi şöyledir:

 try ( // try_statements ) catch(error) ( // catch_statements ) finally() ( // codes that gets executed anyway )

Örnek 2: deneyin… yakala… sonunda Örnek

 const numerator= 100, denominator = 'a'; try ( console.log(numerator/denominator); console.log(a); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); ) finally ( console.log('Finally will execute every time'); )

Çıktı

 NaN Bir hata yakalandı Hata mesajı: ReferenceError: a tanımlı değil Son olarak her seferinde çalıştırılacak

Yukarıdaki programda bir hata oluşur ve bu hata catchblok tarafından yakalanır . finally(Programı başarıyla veya bir hata oluşursa çalışıyorsa) blok herhangi bir durumda çalıştırır.

Not : İfadeden sonra catchveya finallyifade kullanmanız gerekir try. Aksi takdirde, program Yakalanmamış SyntaxError: Eksik yakalama hatası veya denemeden sonra son olarak atar.

JavaScript deneyin… setTimeout'ta yakala

try… catchO "içinde olduysa istisna yakalamak olmaz zamanlanmış setTimeout olduğu gibi kod" (). Örneğin,

 try ( setTimeout(function() ( // error in the code ), 3000); ) catch (e) ( console.log( "won't work" ); )

Yukarıdakiler try… catchçalışmayacaktır çünkü motor try… catchyapıdan zaten ayrılmıştır ve fonksiyon daha sonra çalıştırılır.

try… catchBlok zamanlanmış işlevi içinde bir istisna yakalamak için bu işlevin içinde olmalıdır. Örneğin,

 setTimeout(function() ( try ( // error in the code ) catch ( console.log( "error is caught" ); ) ), 3000);

Ayrıca, kullanıcı tanımlı istisnaları kullanmak için throwifadeyle birlikte de kullanabilirsiniz try… catch. Örneğin, belirli bir sayı 0'a bölünür . InfinityProgramda bir hata olarak düşünmek istiyorsanız, throwbu koşulu işlemek için ifadeyi kullanarak kullanıcı tanımlı bir istisna atabilirsiniz .

Bir sonraki eğitimde JavaScript fırlatma İfadesi hakkında bilgi edineceksiniz.

Ilginç makaleler...