首页 > 代码库 > C# 6.0 (C# vNext) 新功能之:Exception-Handling Improvements
C# 6.0 (C# vNext) 新功能之:Exception-Handling Improvements
在 C# 6.0 新功能裹的异常处理,有两个改进:
异常过滤,这算是让 C# 跟上 Visual Basic .NET 和 F# 在这方面的支持。
如下例子:
比较一下之前的写法:
- 异步处理(async and await)可以在 catch block 裹使用了。在 C# 5.0 推出的 async and await,当时不可以用於 catch block,现在已经可以了。
- 支持异常过滤 exception filtering
try { WebRequest webRequest = WebRequest.Create("http://www.csdn.net"); WebResponse response = await webRequest.GetResponseAsync(); // ... } catch (WebException exception) { await WriteErrorToLog(exception); }
异常过滤,这算是让 C# 跟上 Visual Basic .NET 和 F# 在这方面的支持。
如下例子:
try { DoSomeHttpRequest(); } catch (System.Web.HttpException e) if (e.GetHttpCode() == 400) { WriteLine("Not Found"); } catch (System.Web.HttpException e) if (e.GetHttpCode() == 500) { WriteLine("Internal Server Error"); } catch { WriteLine("Generic Error"); }
比较一下之前的写法:
try { DoSomeHttpRequest(); } catch (System.Web.HttpException e) { switch (e.GetHttpCode()) { case 400: WriteLine("Bad Request"); case 500: WriteLine("Internal Server Error"); default: WriteLine("Generic Error"); } }
C# 6.0 (C# vNext) 新功能之:Exception-Handling Improvements
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。