/*
exception 例子
try
{
//尝试运行的代码 可能出错的代码
//int num = int .Parse("abc");
int num1 = int.Parse("0");
int num = 10 / num1;
}
//catch (Exception ex) // 获取任意类型的错误
//catch (FormatException ex) //获取字符串格式化的错误
catch (DivideByZeroException ex) // 除零错误
{
//exeception 表示错误类型 是任意的类型
//ex 是储存错误的变量 表示我们获取到的错误信息
//当场试运行的代码出错时执行的代码逻辑
Console.WriteLine("当尝试运行的代码出错时 执行的代码逻辑");
Console.WriteLine(ex);
}
*/
/*
//多catch 捕获异常
try
{
Console.WriteLine("请输入一个数字:");
int num1 = int .Parse(Console.ReadLine());
int result = 10 / num1 ;
//代码出错了 后续的代码就不再执行了
throw new Exception("这是一个自定义的错误");
//抛出一个自定义的错误
//throw 关键字 用来抛出错误
}
catch (FormatException ex)
{
Console.WriteLine("字符串格式不正确");
}
catch (DivideByZeroException ex)
{
Console.WriteLine("除零错误");
}
catch (Exception )
{
Console.WriteLine("未知的错误");
}
*/
//finally 最终
try
{
int a = int.Parse("123");
}
catch (Exception ex)
{
Console.WriteLine("出错了才会执行的代码------------");
}
finally
{
Console.WriteLine("不论是否出错都会执行的代码");
}
Console.ReadLine();
/*
* 1. try catch 必须一起出现 有try 这必须有catch
* 2. finally 可以有也可以没有
* 3. try:将可能抛出异常的代码块放在 try 语句中。
* 4. catch:当 try 语句块中的代码抛出异常时,控制流会跳转到相应的 catch 语句块中,处理异常。
* 5. finally:不论是否发生异常,finally 代码块都会执行,常用于清理资源。
* 6. 错误类型,指定 的类形错误只能在指定的catch中处理 Exception 类型是任意错误类型 什么错误都可以接受
* 7. 当我们不知道错误的类型时 我们可以写Exception 类型
* 8. throw 关键字用来抛出错误 可以通过throw new Exception("描述错误的信息") 自定义错误
* 9. 代码一旦出错程序就会崩溃, 后续代码无法执行。因此我们需要使用异常捕获机制来处理异常,让程序可以正确的执行
*/