我怎样才能避免异常抛出问题,怎么解决
我头一次听说避免异常抛出来的这种说法。。
是这样的,我个人觉得:
异常作为一种机制实现在我们编码的框架中,非常好用,对于面向对象而言,更是有着不可或缺的重要性。想象一下,如果没有异常,我们编码怎么办?调试怎么办?难不成每一次因为代码有问题就直接崩溃操作系统,而不再是抛出一个异常,让我们(或者)用户去解决?
我个人平时经常用抛出异常的方式编码,不管是写函数还是什么,异常总有着说不清道不明的恰当感。比如说,我写了一个函数function,带了两个参数,都是字符串类型的,而我返回的是int类型。那么问题就来了,如果我这个函数给人家用,人家输入了一个不合法的数据进去,我怎么办?如果没有异常,也有办法就是我就返回一个-1,这样很麻烦,万一用户不知道这个-1代表的就是数据输入错误呢?但是我有异常就不一样了,如果他整了个不合法的数据,我直接在函数里面给他抛出异常,提示非法数据,至于他处理不处理异常,那是他的事情!
其实异常很好用的,多借用抛出异常的方式来提高你代码的结构性。再举一个例子吧。
比如我又有一个string类型的数据,我想做的是如果他是一串数字就转化为数字,如果不是,就提示非数字文本。
我可以直接写成下面这种(C#):
string NumText = "你的文本";
try
{
Convert.ToInt32(NumText);
//如果转换成功,会接着下面的代码跑,如果失败,抛出异常(我这里捕获这个异常,会跳到catch里面)
//接着处理的代码
//...
}
catch(Exception ex)
{
//ex.Message就是你的异常信息,可以直接输出
}
注释以及写的很明白了,我就不再继续累赘了。一个事物的出现总有他存在的价值,总之,加油!
2017-09-16