如何知道Windows商店应用类型可以抛出什么类型的异常?

时间:2013-01-13 15:36:38

标签: c# exception-handling windows-store-apps

我正在使用此方法:DatagramSocket.BindEndpointAsync()

我怎么知道它可以扔什么类型的例外?这个offical sample显示了所有异常,如下所示:

        // Start listen operation. 
        try 
        { 
            await listener.BindServiceNameAsync(ServiceNameForListener.Text); 
            rootPage.NotifyUser("Listening", NotifyType.StatusMessage); 
        } 
        catch (Exception exception) 
        { 
            CoreApplication.Properties.Remove("listener"); 

            // If this is an unknown status it means that the error is fatal and retry will likely fail. 
            if (SocketError.GetStatus(exception.HResult) == SocketErrorStatus.Unknown) 
            { 
                throw; 
            } 

            rootPage.NotifyUser("Start listening failed with error: " + exception.Message, NotifyType.ErrorMessage); 
        } 

但这似乎非常草率 - 当然有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

C#不要求开发人员使用它可以抛出的异常列表标记每个方法(Java有这个要求)。这就是为什么你必须依赖文档或检查源代码并弄清楚它。

在这种情况下,Async / Await不会改变任何内容。