10.3 程序调试

152.如何捕获C#程序中的异常
      异常的工作原理就是在所有问题的代码处产生异常,立即停止当前代码的执行,并转向异常代码的处理。如果系统找不到异常代码的处理,就会向异常的上一层进行汇报,上一层接到异常后会做相同的处理,系统自动逐层向上传递,直到有一层处理了这个异常或者发送消息给程序最终使用者。在C#中,异常捕捉由try块和catch块组成,针对try块可以相对应一个或多个catch块,并且每个catch块可以针对特别的异常进行特别处理。

153.C#中如何自定义异常
      在C#中,自定义异常类可以通过继承ApplicationException类来实现。ApplicationExeception类有4个构造函数。当创建自定义的异常类时,可以根据不同的情况调用相应的构造方法来构造异常类。

154.怎样避免类型转换时的异常
      在C#中,虽然使用try{}catch{}可以捕获所有的类型转换错误,但是性能却并不好。对应引用类型的类型转换,一般使用as语句,这样可以提高转换时异常处理的执行效率。

155.简介C#中的Trace和Debug类
      Trace类与Debug类非常相似,都是提供一组帮助调试代码的方法和属性,并且都无法被其他类继承。唯一的区别是在Release模式下,Trace类可以正常运行,而Debug类中的代码将会被忽略。

156.在C#中如何使用EventLog创建自定义日志
      在C#中,调用EventLog类向Windows日志中添加自定义日志是非常容易的事情。首先使用CreateEventSource()方法建立一个 应用程序,这个应用程序能够将事件信息写入到系统的特定日志中。通过设置EventLog的Source属性,就可以通过WriteEntry方法向自定义日志中添加记录。

157.什么事GC
      GC是指垃圾回收。垃圾回收是指.NET清理托管堆上不会再被使用的对象(冬眠对象)所占用的内存,并且移动扔在被使用的活动对象,从而使它们所占的内存空间保持连续。垃圾回收仅需要2步即可完成执行过程。

158.如何手动释放为托管的资源
      通过使用者主动调用Dispose()方法就能及时释放托管和非托管资源。那么,当该对象被垃圾回收时,不会再执行Finalize()方法,从而提高了非托管资源的使用率并提高了系统的性能。

159.解释C#中的若引用
      弱引用允许应用程序访问对象,同时也允许垃圾回收器收集相应的对象。在C#中,定义弱引用对象请使用WeakReference关键字。

160.什么事代(GC相关)
      代是指GC将托管堆内的对象按照被调用的可能性的分类。.NET垃圾收集支持3种代:0代、1代、和2代。代越小被释放的机会就越高,但每一次GC释放对象时,仍然在被使用的对象实例将被转移到下一代上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值