c#程序调试

文章介绍了程序调试的各种方法,包括依赖VS编辑器的代码提示修复语法问题,使用断点定位错误位置,以及如何处理各种系统异常,如IOException、NullReferenceException等。强调了try...catch结构在异常处理中的应用,并提供了一个实例展示如何在方法中主动引发并处理DivideByZeroException。同时,文章提醒读者应避免过度使用异常和过多的try...catch块,以保持程序效率。
摘要由CSDN通过智能技术生成

程序调试

编辑器调试

//根据vs的代码提示来解决一些语法问题,能够快速的修正自己的代码

比如这样

调试器调试

断点调试

设置断点
错误位置
查看程序到哪一步
删除断点

把那个红色小圆点再点一下


异常处理

一些异常类

System.IO.IOException    处理 I/O 错误。
System.IndexOutOfRangeException    处理当方法指向超出范围的数组索引时生成的错误。
System.ArrayTypeMismatchException    处理当数组类型不匹配时生成的错误。
System.NullReferenceException    处理当依从一个空对象时生成的错误。
System.DivideByZeroException    处理当除以零时生成的错误。
System.InvalidCastException    处理在类型转换期间生成的错误。
System.OutOfMemoryException    处理空闲内存不足生成的错误。
System.StackOverflowException    处理栈溢出生成的错误。

try...catch

try{
监控的代码
}
catch(异常类名 异常变量名)
{
异常处理
}

try....catch...finally

try{
监控的代码
}
catch(异常类名 异常变量名)
{
异常处理
}
finally
{
程序代码//必须执行的代码
}

throw

throw语句用于主动引发一个异常
//练习
static int MyInt(string a,string b)
        {
            int n1;
            int n2;
            int num;
            try
            {
                n1 = int.Parse(a);
                n2 = int.Parse(b);
                if (n2 == 0)
                {
                    throw new DivideByZeroException();
                }
                num = n1 / n2;
                return num;
            }
            catch (DivideByZeroException de){
                Console.WriteLine("异常");
                Console.WriteLine(de.Message);
                return 0;
            }
        }
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine("亲输入str1");
                string str1 = Console.ReadLine();
                Console.WriteLine("亲输入str2");
                string str2 = Console.ReadLine();
                Console.WriteLine("值为" + MyInt(str1, str2));
            }
            catch (FormatException){
                Console.WriteLine("格式·");
            }
            Console.ReadKey ();

异常的使用规则

//不要过度使用异常,会影响程序的执行效率
//不要使用过于多的try..catch,要不然会增加try检测到异常的概率,增加解析异常的难度
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值