c#举例说明逻辑错误和运行异常的区别

来源:百度知道 编辑:UC知道 时间:2024/05/22 17:08:03
c#举例说明逻辑错误和运行异常的区别

逻辑错误指的是你的程序本身的设计问题,比如你设计一个数组复制的程序:
int[] a = {1,2,3};
int[] b= new int[3];
for(int i=1;i<3;i++)
{
b[i] = a[i];
}
很明显,你的b[0]并没有被赋值。这是逻辑错误,但在运行时并不会抛出异常。

而运行异常是在运行时会抛出异常的操作。
比如你设计一个除的方法:
protected int div(int i,int j)
{return a=i/j;}
当你调用此方法,并使得j参数为0时,会抛出异常。

总之,逻辑错误会导致不正确的结果,但不一定会抛出异常。而运行异常会抛出异常,但并不都是由逻辑错误导致的,有时是由于设计不完善,没有对异常进行相应的处理导致的。前者的解决办法就是在编码前做好设计,排除逻辑错误。后者的解决办法就是在编码时,做好Try Catch操作,接收并处理各种异常。

逻辑错误
int i= 1;
int j= 0;
int a = i/j;

运行异常
Convert.ToInt32("dfj");