C# ile kendi Özel durumumu sınıfımı uygulamaya çalışıyorum. Bu amaçla, Özel Durumdan türetilmiş bir CustomException sınıfı oluşturdum. Özel bir özel durum döndürme
class CustomException : Exception
{
public CustomException()
: base() { }
public CustomException(string message)
: base(message) { }
public CustomException(string format, params object[] args)
: base(string.Format(format, args)) { }
public CustomException(string message, Exception innerException)
: base(message, innerException) { }
public CustomException(string format, Exception innerException, params object[] args)
: base(string.Format(format, args), innerException) { }
}
O halde bunun
static void Main(string[] args)
{
try
{
var zero = 0;
var s = 2/zero;
}
catch (CustomException ex)
{
Console.Write("Exception");
Console.ReadKey();
}
}
benim istisna alacak bekliyorum kullanın ama olsun bütün standart DivideByZeroException'ı olduğunu. CustomException sınıfımı kullanarak sıfır istisna ile nasıl bir bölünme yakalayabilirim? Teşekkürler.
Neden NET istisna kullanmaya başlamalıdır? Kendiniz [atmak] zorundasınız (http://msdn.microsoft.com/en-us/library/1ah5wsex (v = vs.110) .aspx). –
tamam, ben yeni bir throw atmak için ekleme bölüm eklese bile yakalayamayacağım bölüm. Standart istisna almaya devam edeceğim. DevideByZero istisnalarını yakalamak için CustomException'ımda bir kod yazmam gerekiyor mu? – JohnyMotorhead
Eğer div'i _before_ sıfıra atarsanız ya da Alexei'nin yaklaşımını kullanırsanız yapmamalısınız. Bu arada: Çok iyi nedenleriniz olmadıkça istisnaları değiştirmek iyi bir uygulama değildir. –