Sistemde Try/Catch Blokları: Hataları Karışıklığa Neden Olmadan Yakalamak
•
Scripting, Hata ÇözümlemePowerShell
Bir süreç yazdınız, sistem gidip 10 sunucunun SQL servisine yeniden bağlansın istediniz. Fakat 3. sunucunun fişi çekikti. Eğer düz kod yazarsanız PowerShell o kasanın yokluğunda ekranı kıpkırmızı zehirli yazılara boğar. Hem estetiği (GUI'yi) çökertir, hem de log almanızı imkansız kılar.
Zarif Kurtarıcı Felsefe
Her zaman risk taşıyan yerlere Try / Catch pamuğu sarılır.
Try {
Stop-Service -Name "SanalGuvenlik" -ErrorAction Stop
}
Catch {
Write-Warning "Bu hizmet o makinede kapali veya kurulamadi. Es geciliyor!"
Out-File -FilePath "C:\Hata.txt" -InputObject $_.Exception.Message -Append
}
Sistem o servisi bulamazsa feci error basmak yerine, gizlice ve çok asilce sizin Catch bloğunuzun arasına düşer (Fakat try bloğunda ErrorAction Stop mühimmatı ekli olmalıdır aksi taktirde Catch'e sekmez). Şirkete tertemiz bir uyarı cümlesi sarfeder ve arka plandaki hata dosyanıza gerçeği fısıldayarak diğer satırlardan devam eder.