Bilmek istediğin her şeye ulaş

C# dilinde yazılan bir programda meydana gelebilecek bütün hataları, try catch ile yakalamak mümkün mü?

saçma bi soru oldu belki ama yine de sordum:) mesela bütün casting, atama, nesne oluşturma, metod çağırma vs akla gelebilecek programın akışı sırasında meydana gelebilecek bütün hataları kastediyorum. yani program içinde tekrar bi hata yakalama işlemi yapma gereksinime gerek olur mu? mesela nesne nin gerçekten yaratılıp yaratılmadığını anlamak için null e eşit mi diye kontrol yapmak gibi.Düzenle
Teorik olarak hayır. Örneğin, casting yaptığınızda derleme sırasında hata vermediyse casting bilgisayar için geçerli demektir. Eğer bunun olumsuz bir sonucu oluştuyorsa bu sizin için olumsuzdur (yani tanım itibariyle mantık hatasıdır) . Bu tür hatalar istisna yaratmazlar. Örneğin int değerini unsigned int'e cast ettiniz ve 0 ve -1'i karşılaştırdınız. Doğal olarak -1 0'dan büyük çıkacaktır. Ama bu noktada bilgisayar için hata yoktur. -1'i büyük farz eder ve işlemleri ona göre yapar. Aslında tüm mantık hataları için bu durum geçerlidir (Mantık hatası logical error, bilgisayar için geçerli ama sonucu amacınıza uymayan kodlardır) .

Bu amaçla bir çok dil throw keyword'unu da verir. Throw kullanarak programınızın herhangi bir yerinde sizde bir istisna atabilirsiniz. Programcı tarafından istisna atmak, C# gibi istisna kütüphanesi çok geniş olan bir dilde oldukça az kullanılan bir yöntemdir ama vardır.
  • Paylaş
2

Unluckypod, sayende unsigned int olayını duymuş oldum:)

Mustafa Kaplan, Aslında Herşeyi yakarsınız
bahsettiğniz durum bir istisna değil
mesela:
int x=-1;
uint y=(uint)x;
bir hata yok
ama
object s="-1";
int x=(int)s;
bunu try catch ile yakarsiniz çünki bir hatadır

Merhaba ,

C#'dilinin kendi kütüphanesinde bulunan try-catch kullanımı sizin kodlar arasında yaptığınız tüm hataların kontrolünü sağlamaktadır. Bunun dışında her hangi farklı bir program veya kod kullanmanıza gerek yok sadece bu komut ile sorununuzu çözebilirsiniz.

İyi günler dilerim.
  • Paylaş
Evet tümüne yanıt veriri alacağınız tüm hataların Exception ları mevcuttur.
  • Paylaş
Sonraki Soru
HESAP OLUŞTUR

İstatistikler

231 Görüntülenme5 Takipçi3 Yanıt