据我所知,当有特定于应用程序的错误处理时,使用它们并不好。
我正在调用来自WCF服务的方法,如下所示:
Service.Login += new EventHandler<LoginCompletedEventArgs>(LoginCompleted);
Service.LoginAsync(username, password);
在生成的'LoginCompleted'方法中,我可以使用以下内容来检查错误:
if (e.Error == null)
由于错误可以在方法完成后进行分析,是否仍然需要在“LoginAsync”调用周围放置try-catch块?换句话说,“LoginAsync”调用可以任何出错?
答案 0 :(得分:1)
不太确定会发生什么,但有些情况会跳到我的脑海:池中的线程,内存不足......我认为不是必要的。
答案 1 :(得分:1)
是。呼叫本身可能出现问题...例如,假设您的网络出现故障,您实际上无法完成呼叫。 try / catch对这些情况很有用。处理异步操作期间发生的异常正在完成您应该如何操作。
基本上,如果要在进行调用时处理任何异常,请使用try / catch。如果要在异步操作期间处理任何异常,请像以前一样使用e.Error
。