【发布时间】:2016-01-29 09:52:54
【问题描述】:
这是我的动作处理程序中的代码:
private async void startButton_Click(object sender, EventArgs e)
{
try
{
var expression = expressionTextBox.Text;
var result = await Task.Run(() => Algebra.Divide(expression));
resultTextBox.Text = result.Polynom.ToString();
} catch (Exception ex)
{
Logger.Error(ex.Message);
detailsTextbox.BackColor = Color.Red;
detailsTextbox.AppendText("An error occurred! Please check if your expression is valid.");
}
}
而在Algebra.Divide 中,我只将抛出异常用于测试异常场景:
public static DivisionResult Divide (string expression)
{
throw new Exception("Error occured");
}
为什么它不将异常传播到我有 try/catch 块的操作处理程序?我也尝试过不同步调用Algebra.Divide(),但这是同样的错误。
【问题讨论】:
-
你有什么版本的C#? 5.0?