当前位置:   article > 正文

C#/.NET 关于抛出异常_c#让程序弹出异常无法运行的办法

c#让程序弹出异常无法运行的办法

目录

45.方法约定被违背时抛异常

46.利用using与try/finally来清理资源

47.专门针对应用程序创建异常


45.方法约定被违背时抛异常

用异常来表示当前状况比错误码要好,错误码容易被忽视。

比如File.Exists() 文件存在返回true,文件不存在返回false 不会抛异常

而File.Open()如果文件不存在或者没有权限读取可以抛异常,因为Open只有在满足上述条件才有意义。侧面也说明了方法起名的规范重要性。

.NET也有很多做的好的示例,比如类型转换有int.parse和int.Tryparse两种,一般容易有异常的都有Try开头的版本。

46.利用using与try/finally来清理资源

如果用到了非托管资源,要通过IDisposable接口明确释放。.NET一般释放的责任是由使用方负责。也就是说自己使用了非托管资源,自己要记得释放。

Try/finally是保证程序出异常了,依然能释放非托管资源。

而using是try/finally的语法糖,帮我们减少代码量。

using只支持实现了IDisposable接口的,不是随随便便都能using的

大量的用到非托管资源其实非常的坑,没办法像C++那样及时的释放。因为释放接口由CLR负责调用

47.专门针对应用程序创建异常

创建自己的异常类是为了能用不同的catch捕获不同的状况。从而用不同的方式去处理。如果处理手段单一,其实没必要实现自己的异常类。

而需要清晰的异常信息来保证更快的修复程序效率,可以试着创建自己的异常类。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号