なんでもないコードでStackOverFlowException
プロパティへのgetやsetをしているだけなのに、ガシガシ再帰し続け、いつの日かStackOverFlowExceptionが投げられるコード。
public class Person
{
private string name = string.Empty;
public string Name
{
get
{
return this.Name;
}
set
{
this.Name = value;
}
}
public Person()
{
//
// TODO: コンストラクタ ロジックをここに追加してください。
//
}
}
上記のNameプロパティに、setしてもgetしても、StackOverFlowExceptionがthrowされる。
原因は、大文字小文字のスペルミス。
アホみたいなミスだが、マルチスレッドなアプリでやらかしてしまうと、発見するまでも結構な時間がかかることも。
細かい単位のテストをしっかりやってれば大丈夫なはず・・・。 でも、忘れかけたころに、またやらかしてしまう。
藤○(神)のバント失敗よりは確率が低いだろうか。
0 件のコメント:
コメントを投稿