您的位置:首页 > 其它

关于VS中的错误处理和调试

2017-09-22 11:33 134 查看

关于错误和调试的基本概念

错误

语法错误:比如变量名错误等,导致编译器无法编译,编译器能够实时报错

//语法错误,变量名出错
int temp = 235;
tem = 43;


语义错误(逻辑错误):逻辑在某些方面有瑕疵,会导致结果和预想中的不一样,但是能够编译成功,编译器不会报错

//逻辑错误,结果与预期的不同
int num1 = 34;
int num2 = 23;
int sum = num1 * num2;


调试

在调试出错之后,使用VS提供给我们的调试功能,找到错误的原因后修改代码

错误处理:对可能发生错误的地方采取预防措施,并编写弹性代码来处理可能会发生的错误

调试的两种方法

正常模式下的调试

1. VS中我们使用Console.WriteLine(Write)方法向控制台输出变量的值,通过这个我们可以查看变量的值是否符合语句来调试错误。

2. Unity中使用Debug.Log(),Debug.LogError(),Debug.LogWarn()三个方法向unity中的Console窗口输出信息,帮助我们调试错误。

中断模式下的调试

中断模式指我们可以暂停程序的执行,然后查看程序中的状态,也可以让程序继续执行。

断点

我们使用断点来让程序中断。

断点是源代码中自动进入中断模式的一个标记,当遇到断点的时候,程序会进入中断模式。

插入断点有四个方法

右击要插入断点的代码行,选择breakpoint(断点)->insert breakpoint(插入断点)

光标定位到代码行,选择菜单上的Debug(调试)->Toggle breakpoint(切换断点)

光标定位到代码行,按下F9,再次按下F9则取消断点

在需要添加断点的行首位置,直接单击,再次单击取消断点

中断模式下如何查看以及修改变量的值?

VS中进入中断模式后,会有很多窗口能够监视程序。

局部变量窗口:在这个窗口中,我们可以看到整个方法内所有变量的值和类型

监视窗口:因为在局部变量中,整个方法的变量都显示出来了,而我们可以在这个窗口中输入自己想要查看的变量,可以直接忽略那些无关紧要的变量。

调用堆栈窗口:在这个窗口中,我们可以查看到在这个方法中调用了哪些函数。

即时窗口:在这个窗口中,我们可以查看任意变量的值,还可以修改变量的值。

异常处理(捕捉异常)

处理异常的语法结构如下(包含了三个关键字 try catch finally)

try{

}
catch(){

}
finally{

}


其中catch块可以有0或多个,finally可以有0或1个,但是catch和finally块至少要有一个,也可以同时存在。

当try语句中的一条语句出错,则try块中后面的语句也不会执行。

有一点要注意的是,catch捕捉的异常类型不能够写错,不然程序依旧无法正常运行,或者可以不填,默认捕捉所有的参数。

数组下标越界的例子:

try
{
int[] array = { 1, 2, 3, 4 };
int myEle = array[4];
}
//catch(IndexOutOfRangeException e)
//{
//    Console.WriteLine("发生了异常:IndexOutOfRangeException");
//    Console.WriteLine("数组下标越界");
//}
catch(NullReferenceException e) //捕捉异常的类型不对,所以程序依旧无法正常运行
{
Console.WriteLine("发生了异常");
}
catch //不说明捕捉异常的类型,默认捕捉所有异常
{
Console.WriteLine("数组下标越界");
}
finally
{
Console.WriteLine("这里是finally语句");
}


该捕捉什么类型的异常,在以后练习代码的过程中,会慢慢熟悉。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  调试
相关文章推荐