我怎样才能从ISupportIncrementalLoading
界面中捕获异常,让我说我有类似的东西
public class MyCollection : ObservableCollection<MyModel>, ISupportIncrementalLoading
{
private int page = 1;
public bool HasMoreItems { get { return page < 10; } }
public IAsyncOperation<LoadMoreItemsResult> LoadMoreItemsAsync(uint count)
{
return LoadMoreItemsTaskAsync(count)
.AsAsyncOperation<LoadMoreItemsResult>();
}
private async Task<LoadMoreItemsResult> LoadMoreItemsTaskAsync(uint count)
{
//my code which can fail, if so
throw new MyException("can not connect",404);
return new LoadMoreItemsResult() { Count = (uint)count };
}
}
现在让我说我这样称呼它:
try
{
MyCollection _Collection = new MyCollection();
}
catch (Exception ex)
{
MyExceptionTextBox.Text = ex.Message;
}
我想你可以看到我想做什么,那么我做错了什么?
EDIT1: 调试器突出显示以下行:
throw new MyException("can not connect",404);
你可以看到我的try-catch部分没有处理这个例外。
答案 0 :(得分:0)
使用您的示例代码,除了实例化对象之外,您还没有做任何其他事情。接口本身不会抛出任何错误,因为它是一个接口。错误将来自您的实施。
正如您在示例中所示,只需在try / catch中包含调用代码,您就会发现错误。
也许可以提供更多有关您的实施的信息?