当前位置:首页 > Windows程序 > 正文

C# 6.0 (C# vNext) 的新功能:Exception

2021-03-24 Windows程序

于 C# 6.0 包裹在异常处理的新功能,有两个方面的改进:

异步处理(async and await)能力 catch block 总结使用。于 C# 5.0 释放 async and await,,在那个时候它不能用 catch block。现在能够做到这一点。

支持异常过滤 exception filtering

异步处理的样例:
try { WebRequest webRequest = WebRequest.Create(""); 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"); } }




版权声明:本文博主原创文章,博客,未经同意不得转载。

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/66507.html