Try 块不会阻止异常
Try block doesn't prevent exception
我将部分代码放在 try 块中以防止异常并在 catch 块中处理它。但是当应用程序执行时抛出异常。为什么没有阻止?
private void btnAddCriteria_Click(object sender, RoutedEventArgs e)
{
Criteria root = trvMenu.SelectedItem as Criteria;
if (root != null)
{
try
{
if(root.criterias[0].criterias[0] != null)
MessageBox.Show("Max depth");
}
catch(IndexOutOfRangeException)
{
if (txtNode.Text != "")
{
root.criterias.Add(new Criteria(txtNode.Text));
}
else MessageBox.Show("Enter Node text");
}
}
}
您正在捕获和处理 IndexOutOfRangeException
,但应用程序正在抛出 ArgumentOutOfRangeException
。
您应该更改代码以处理 ArgumentOutOfRangeException
或两者。
我将部分代码放在 try 块中以防止异常并在 catch 块中处理它。但是当应用程序执行时抛出异常。为什么没有阻止?
private void btnAddCriteria_Click(object sender, RoutedEventArgs e)
{
Criteria root = trvMenu.SelectedItem as Criteria;
if (root != null)
{
try
{
if(root.criterias[0].criterias[0] != null)
MessageBox.Show("Max depth");
}
catch(IndexOutOfRangeException)
{
if (txtNode.Text != "")
{
root.criterias.Add(new Criteria(txtNode.Text));
}
else MessageBox.Show("Enter Node text");
}
}
}
您正在捕获和处理 IndexOutOfRangeException
,但应用程序正在抛出 ArgumentOutOfRangeException
。
您应该更改代码以处理 ArgumentOutOfRangeException
或两者。