从ISupportIncrementalLoading接口捕获异常

时间:2016-03-14 15:31:22

标签: c# windows-runtime win-universal-app

我怎样才能从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部分没有处理这个例外。

1 个答案:

答案 0 :(得分:0)

使用您的示例代码,除了实例化对象之外,您还没有做任何其他事情。接口本身不会抛出任何错误,因为它是一个接口。错误将来自您的实施。

正如您在示例中所示,只需在try / catch中包含调用代码,您就会发现错误。

也许可以提供更多有关您的实施的信息?