我将部分代码放在try块中以防止异常并在catch块中处理它。但是当app被执行时抛出异常。为什么不阻止?
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");
}
}
}
答案 0 :(得分:0)
您正在捕捉并处理IndexOutOfRangeException
,但应用程序正在抛出ArgumentOutOfRangeException
。
您应该更改代码以处理ArgumentOutOfRangeException
或两者。