皆さん、私はちょうどC#に入っていて、例外処理を行っています。私は実際にそれを投げることなく私のカスタム例外をトリガする方法を見つけることを試みています。エラーを処理するたびに、新しい「カスタム例外」をスローするように記述するのは難しいようです。 throw行をコメントアウトして例外が発生することはありません。元々nullに設定していますが、これを回避する方法が見つからないためです。例外処理をC#で投げずに
public class Person
{
public Person(String name)
{
Name = name;
}
public String Name { get; set; }
}
public class PersonException : Exception
{
public PersonException() : base() {}
}
public class Program
{
static void Main(string[] args)
{
Person p = null;
try
{
p = new Person("kim");
//throw new PersonException();
}
catch (PersonException z) when(p.Name == "kim")
{
Console.WriteLine(z.Message);
}
}
}
}
_実際にスローすることなくカスタム例外をトリガする_スローすることなく例外をトリガする方法はありません –
達成しようとしていることは何ですか?エクスプレッションは、何かが期待どおりに動作しないときにスローされる_meant_です。 'string'パラメータがnullかそれ以外のものなど何かがうまくいかないときに例外をスローします。 – raymai97
通常の制御フローに例外処理を使用しないでください。 'if ... else'を使用してください。例外は、しばしばバグを示す(まれな)例外的なケースで使用されることを意図しています –