我想知道是否有人可以提供帮助,我对编程C#相对较新,这里是造成StackOverflowException的代码:
private void createButton_Click(object sender, RoutedEventArgs e)
{
try
{
MeWhoService.Account NewAccount = new MeWhoService.Account();
NewAccount.AccountID = Guid.NewGuid();
NewAccount.LastName = LastNameTextBox.Text.Trim();
NewAccount.FirstName = FirstNameTextBox.Text.Trim();
NewAccount.EmailAddress = EMailAddressTextBox.Text.Trim();
NewAccount.Password = PasswordTextBox.Password.Trim();
NewAccount.ConfirmPassword = ConfirmPasswordTextBox.Password.Trim();
// Set Password
if (ValidatePassword())
{
NewAccount.Password = PasswordTextBox.Password.Trim();
viewModel.Create(NewAccount);
NavigationService.Navigate(App.MeAndWhoUri);
}
else
{
MessageBox.Show("Your Passwords don't match.");
}
}
catch (Exception excp)
{
MessageBox.Show(excp.Message);
}
}
答案 0 :(得分:2)
在.NET中调试StackOverflowException很简单。在调试中启动程序,执行导致异常的任何操作,等待抛出异常,然后查看堆栈跟踪。堆栈跟踪将具有一个模式,显示任意数量的重复方法调用。弄清楚哪一个方法调用不应该在堆栈跟踪中调用另一个方法调用,你的错误就会消失。
如果您无法在堆栈跟踪中找到该模式,请将其包含在您的问题中,我相信此处有人可以为您提供帮助。