私は自分のExceptionクラスをC#で実装しようとしています。この目的のために、Exceptionから派生したCustomExceptionクラスを作成しました。カスタム例外を返す
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) { }
}
は、その後、私はそれを
static void Main(string[] args)
{
try
{
var zero = 0;
var s = 2/zero;
}
catch (CustomException ex)
{
Console.Write("Exception");
Console.ReadKey();
}
}
を使用し、私は私が私の例外が発生します期待していますが、私が得るすべては標準DivideByZeroExceptionです。私はどのように私のCustomExceptionクラスを使用して0除算例外をキャッチできますか?ありがとう。
なぜ.NETあなたの例外の使用を開始する必要がありますか?あなたは['スローする](http://msdn.microsoft.com/en-us/library/1ah5wsex(v = vs.110).aspx)それを自分で行う必要があります。 –
いいえ、私がそれを取得しないセクションをキャッチするために新しい例外をスローして追加する場合でも。私はstandart例外を取得し続けます。 DevideByZero例外をキャッチするために私のCustomExceptionにいくつかのコードを記述する必要がありますか? – JohnyMotorhead
divより前にゼロをスローしたり、アレクセイのアプローチを使用したりするべきではありません。ところで、私はあなたに非常に良い理由がない限り、例外を置き換えることは良い習慣ではないと思います。 –