try和catch
为什么用try和catch
代码错误分为两类,一种编译错误,也就是语法错误,一般会有红色提示;一种运行错误,没有红色提示,知道运行的时候才会把错误抛出来
而try是执行try里面的代码,如果报错,就会被catch捕获错误,如果这个错误能解决,我们就给他解决掉,如果解决不掉,就抛出异常,如果使用多个catch,把具体的异常写在前面,把基类Exception写在最后
代码
cs
intputNum
try
{
string num = Console.ReadLine();
int num1 = int.Parse(num);
double sum = Math.Pow(10, num1);
Console.WriteLine(sum);
}
catch (FormatException) //捕获字符串输入格式不正确
{
Console.WriteLine("输入格式不正确");
goto inputNum;
}
catch (OverflowException)
{
Console.WriteLine("超出范围的异常信息");
goto inputNum;
}
catch (Exception info)//异常类
{
Console.WriteLine("无法预知的错误");
throw info;
//throw new Exception(info.Message);//info.Message异常信息 采用throw抛出异常;如果不想程序崩溃,就打印错误信息
}
常见的错误代码
Exception所有异常的基类
Exception 异常基类
FormatException 格式不正确异常
OverflowException 超出范围异常
DivideByZeroException 除数为0的异常
IndexOutOfRangeException 索引值越界异常
NullReferenceException 空引用的异常
FileNotFoundException 找不到文件的异常