Basit tanılama: özel durumlar ve koruma denetimleri
Beklenen geçersiz girdiler için koruma denetimleri uygulayın, olağan dışı durumlarda özel durumlar fırlatın ve hataları uygun biçimde ele almak için try/catch kullanın.
Basit tanılama: özel durumlar ve koruma denetimleri, CoddyKit'te ücretsiz bir C# Academy dersidir. Bu, 3 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C# Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C# Academy kursu toplamda 3 dersten oluşur.
Tanılama genel bakışı
Amaç: Beklenen sorunlar için koruma denetimleri, nadir görülen ciddi sorunlar için ise özel durumlar kullanın.
Koruma denetimi örneği
Koruma denetimleri, yaygın geçersiz girdiler için özel durum fırlatmak yerine bir durum döndürür.
using System;
public class Program
{
public static bool TryDivide(int a, int b, out int result)
{
if (b == 0)
{
result = 0;
return false; // guard check fails
}
result = a / b;
return true;
}
public static void Main(string[] args)
{
int r;
bool ok = TryDivide(10, 0, out r);
Console.WriteLine("ok=" + ok + " result=" + r);
}
}
Özel durum örneği
Özel durumlar, ele alınmadıkları sürece yürütmeyi durdurur. Bunları beklenmeyen veya ciddi durumlar için kullanın.
using System;
public class Program
{
public static int PriceWithTax(int price, int ratePercent)
{
if (price < 0)
{
throw new ArgumentOutOfRangeException("price");
}
if (ratePercent < 0 || ratePercent > 100)
{
throw new ArgumentOutOfRangeException("ratePercent");
}
return price + (price * ratePercent / 100);
}
public static void Main(string[] args)
{
try
{
int total = PriceWithTax(100, 20);
Console.WriteLine("Total=" + total);
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
Denetimleri ve özel durumları birlikte kullanma
Yaklaşımları birleştirin: Rutin doğrulama için koruma denetimleri, geçersiz durumlar için özel durumlar kullanın.
using System;
public class Program
{
public static bool TryParsePrice(string text, out int value)
{
return int.TryParse(text, out value); // guard check
}
public static int GetDiscount(int code)
{
if (code < 0) throw new ArgumentException("Invalid code"); // exception
return 10;
}
public static void Main(string[] args)
{
int v;
if (TryParsePrice("123", out v))
{
Console.WriteLine("Parsed " + v);
}
try
{
int d = GetDiscount(-1);
Console.WriteLine("Discount=" + d);
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
try/catch örneği
Özel durumları ele almak ve programın çalışmasını sürdürmek için try/catch kullanın.
using System;
public class Program
{
public static void Main(string[] args)
{
try
{
int x = 10;
int y = 0;
int z = x / y; // will throw DivideByZeroException
Console.WriteLine(z);
}
catch (DivideByZeroException ex)
{
Console.WriteLine("Cannot divide by zero: " + ex.Message);
}
}
}
İpuçları
İpuçları:
- Koruma denetimleri yaygın durumlar için güvenli varsayılan değerler döndürür.
- Özel durumlar nadir görülmeli ve anlamlı olmalıdır.
- Yalnızca ele alabileceğiniz özel durumları yakalayın.
Koruma denetimi mi özel durum mu
Özet
Özet: Yaygın geçersiz girdiler için koruma denetimleri kullanın, sıra dışı durumlar için özel durum fırlatın ve kurtarma mümkün olduğunda bunları try/catch ile ele alın.
Sıkça Sorulan Sorular
“Basit tanılama: özel durumlar ve koruma denetimleri” dersi ücretsiz mi?
Evet — “Basit tanılama: özel durumlar ve koruma denetimleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C# Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C# Academy kursu toplamda 3 dersten oluşur.
“Basit tanılama: özel durumlar ve koruma denetimleri” dersinde ne öğreneceğim?
Beklenen geçersiz girdiler için koruma denetimleri uygulayın, olağan dışı durumlarda özel durumlar fırlatın ve hataları uygun biçimde ele almak için try/catch kullanın. C# Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
C# Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te C# Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 3. dersidir.
“Basit tanılama: özel durumlar ve koruma denetimleri” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu C# Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her C# Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- if/else, klasik switch ve döngüler: for, while, do, foreach
- break/continue; goto'dan kaçınma; kapsam; özel durumlar ve koruma denetimleri
- Basit tanılama: özel durumlar ve koruma denetimleri