C#异常处理和数据类型转换

14 篇文章 1 订阅
7 篇文章 3 订阅

        在编程的过程中我们都知道有些错误是难以避免的,为了避免错误所带来的程序不友好所以程序当中引入了异常处理机制,又因为数据类型奇多和处理方式不同,应要求又有了数据转换的机制。下面来讲一下在C#中的异常处理和数据转换。

一、异常处理

        在VB中我们都知道,异常处理对于程序来说是非常必要的,在设计中为了避免程序的突然中止和外界环境的错误,我们引入了错误的异常处理,在汇编上讲就是一个跳转JMP命令的作用。在VB中我们的异常处理是on error goto和resume next语句,在这里我们就可以选择是跳转到处理的地方或者是执行下一条语句。

        在C#中我们的异常处理有三大块组成,分别是try{},catch{},finally{} 用法如下:

try
{
         //可能会发生错误的代码
}
catch
{
        //错误处理
}
finally
{
       //资源清理
}
        一般情况下,try只是对应要处理的代码,而catch可以通过判断错误类型来进行处理,也就是说可以有多个catch存在,在不同的错误下处理不同的问题,具体视问题的错误类型来写类型代码进行判断,就是在catch后面声明一个错误对象,如:catch(IndexOutOfRangeException e)其中e就是发生溢出操作的异常对象,他也有很多的属性可以应用来显示错误信息,如:e.Message 就是错误信息,可以通过输出字符的方式向用户展示。(具体的异常类要看对应的异常表去处理)。

        最后的资源清理就是清理出现异常的程序所占用的资源空间,包括内存空间和cpu进程,这是一定要做的,否则会出现程序结束后CPU、内存还是被占用的情况。


二、数据类型转换

        数据类型转换说来也是一个老话题了,从一开始写程序的时候就强调数据类型的问题,尤其是VB的数据类型隐式转化使得我们都没有太注意这个问题,现最多的问题出现在编译和输入数据上面,稍有不慎就会出现变量XX不能隐式转化为XXX类型的变量的问题,这个问题也会导致程序的崩溃。

        数据转换有强制转换和一般类型转换语句之分。强制转换是不管数据的安全性直接进行转换的策略,我们都知道数据类型之间所占的空间有不一样的,所以这种转化有可能丢失数据,但是在有些时候是能够解决一些问题的。下面是强制转换的例子:

int a = 1;
short b= 2;
b=(short)a;     //a 由int类型转换为了short类型

一般类型的转换通常是用To+数据类型来用的(有的类型不支持)

具体方法:

string str = "mytest";
char [] chars = str.ToCharArry();      //字符串str转换为字符串数组并赋值给字符串数组chars

int a = 123;
double b = 456;
double c;
c = b + a.ToDouble();                 //int类型a转换成double类型和b相加并赋值给c

        另外还要注意字符类型的数据转换成为数值类型的数据的时候是转换成的ASCII码的,而数值类型的数据转换成字符类型却是不一定的。


总结:

       数据类型的处理是我们以前并没有注意的问题,以后要多多注意了,因为在C#中的编程还有以后的编程数据类型的使用一定要掌握清楚,因为数据的处理有的时候真的就是这个程序的核心;错误处理也是一样的,为了给用户一个良好的界面和使用体验,精确的给予用户错误的意见也是很重要的,所以用一句话来形容这次的内容就是:为了安全,为了用户,一切都要从细枝末节抓起。



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值