我有以下内容:
private int order;
public int Order {
get { return order; }
set {
if ((value < 0) || (value > 99)) {
throw new Exception(string.Format("{0} must be between 0 and 99", value.ToString()));
} else {
order = value;
}
}
}
这在这里被称为:
try {
property.SetValue(reference, convertedValue, null);
} catch (Exception e) {
var a = e;
}
当我将值设置为 50 时,一切正常。当我将值设置为 123 并逐步进行调试时,它会转到 property.SetValue 行,然后接下来是它给了我这个并指向第一个代码片段中“} else {”代码块的末尾。
System.Exception was unhandled by user code
HResult=-2146233088
Message=123 must be between 0 and 99
Source=Test.Storage
StackTrace:
at Storage.Models.Reference.set_Order(Int32 value) in C:\Code K\139- Aug 23\Common\Storage\Models\Reference.cs:line 22
InnerException:
有人可以解释为什么不处理异常吗?我不明白为什么它不会被围绕 property.SetValue 的 try 循环捕获。我在 var a = e; 上有一个调试点;但它不会去那里。