Menu
Coddy logo textTech

`panic` Kavramını Anlamak

Coddy'nin GO Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 42 / 68.

Go'da panic, programınızın kurtarılamaz bir hatayla karşılaştığı ve hemen durması gereken gerçekten istisnai durumlar için kullanılan yerleşik bir fonksiyondur. Zarif bir şekilde ele aldığınız normal hataların aksine, panic, programınızın mantığı veya ortamıyla ilgili temelde yanlış bir şey olduğunu gösteren felaket niteliğindeki başarısızlıklar için ayrılmıştır.

panic çağrıldığında, mevcut fonksiyonun normal yürütülmesini anında durdurur ve çağrı yığınını geri sarmaya başlar. Bu, onu çağıran kod tarafından ele alınabilen hataların döndürüldüğü tipik Go yaklaşımından çok farklı kılar.

İdiyomatik Go'da, panic nadir kullanılır. Go topluluğu, panic tabanlı hata yönetimi yerine dönüş değerleri aracılığıyla açık hata yönetimini güçlü bir şekilde tercih eder. Bir dizinin sınırları dışına erişilmesi, bir nil işaretçisinin (pointer) dereferans edilmesi veya bir kütüphanenin bir programlama hatasını gösteren imkansız bir durumu tespit etmesi gibi durumlarda panic ile karşılaşabilirsiniz.

Çoğu Go programı, öğrenmekte olduğunuz standart hata arayüzünü kullanarak hataları düzgün bir şekilde ele almalıdır. panic, yalnızca programınızın çalışmaya devam etmesi için gerçekten makul bir yol kalmadığında düşünülmelidir.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Kopya kağıdı

Go'da panic, program yürütmesini anında durduran, kurtarılamaz hatalar için kullanılan yerleşik bir fonksiyondur:

panic("something went terribly wrong")

panic çağrıldığında, mevcut fonksiyonu durdurur ve çağrı yığınını (call stack) geri sarar. panic ifadesini idareli kullanın - yalnızca programın devam edemeyeceği feci hatalar için tercih edin. Go, panik tabanlı hata yönetimi yerine dönüş değerleri aracılığıyla açık hata yönetimini tercih eder.

Yaygın panik durumları arasında dizi sınırları dışına erişim, nil işaretçi başvurusu (nil pointer dereference) veya hataları gösteren imkansız program durumları yer alır.

Kendin dene

Bu ders bir kod alıştırması içermiyor.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler