7.21 C#学习笔记(调试与错误排查、异常处理)
·
调试与错误排查
错误(BUG):代码难免会出现错误
比如变量名不规范导致编译器无法编译: int 1num=10;(语法错误)
有时候在逻辑方面有缺陷,也会生成错误,这种错误叫语义错误,也叫逻辑错误。
排查
1.在VS 中使用Console.WriteLine或Console.Write方法向控制台输出,通过查看输出结果是否达到预期来调试错误
2.中断模式(DeBug)下调试
中断是程序进入暂停状态,然后通过查看程序中某些程序的状态,也可让程序继续执行。
如何让程序中断?
1.断点:
断点是源代码进入中断模式的一个标记,当程序遇到断点时程序会进入中断模式,只需要在行号前点一下即可。
断电可以打在任意位置,空行和注释行除外。
打上断点后程序只会执行断点前的代码,可以查看到断点前的数据值
2.Console.ReadLine()://可以使我们的程序暂停,当执行到这里时会等待用户输入,等待的过程下面的代码不会执行
在断点模式下,单步执行代码,点击继续程序会运行到下一个断点的位置
逐语句 逐过程
相同点:都是一步一步执行代码
不同点:逐语句遇到函数会执行到函数内部,逐过程不会。
异常处理
//异常处理:
startLoop:
Console.WriteLine("请输入0-10之间想要查看的序号");
int[] num = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
int a = int.Parse(Console.ReadLine());
try
{//要捕获的代码 可能出现异常的代码 捕获阶段
Console.WriteLine(num[a]);
}
//要捕获的异常 异常类 捕获异常之后执行,没有异常不执行
//Exception 所有异常
catch (Exception ex) //()中也可以不写,如果不写表示方式任何异常都会执行这个catch块
{
//可以通过Exception异常类的对象ex获取到具体的异常是由谁引起的
//如果在 捕获异常阶段不知道具体的异常类时使用Exception
//Console.WriteLine(ex);
Console.WriteLine("输入错误,请重新输入");
goto startLoop;
}
//finally //不管有没有异常都会执行(可有可无)
////没有catch必须要有finally
//{
// Console.WriteLine("1111");
//}
//throw 抛出异常
//throw ex;
使用goto语句实现输错一直再次输入,知道输对的操作。
更多推荐


所有评论(0)