class Program
{
static void Main(string[] args)
{
object o = null;
try
{
//强制转换 null 对象的尝试引发 NullReferenceException 异常
int i = (int)o;
}
catch (NullReferenceException ex)
//1.虽然可以使用不带参数的 catch 子句捕捉任何类型的异常,但不推荐这种用法。 通常,您应该只捕捉那些您知道如何从中恢复的异常。 因此,应该总是指定一个从 System.Exception 派生的对象参数。
//2.在同一个 try-catch 语句中可以使用一个以上的特定 catch 子句。 这种情况下 catch 子句的顺序很重要,因为会按顺序检查 catch 子句。 将先捕获特定程度较高的异常,而不是特定程度较小的异常。 如果对 catch 块进行排序以使永远不能达到后面的块,编译器将产生错误。
//3. int i = (int)o; 很有可能引发NullReferenceException异常,所以将此catch放在前面
//4.如果将catch (Exception ex)放在第一个,将不会达到后面的块,编译器将产生错误。
{
Console.WriteLine(ex.Message);
}
catch (DivideByZeroException div)
{
Console.WriteLine(div.Message);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.Read();
}
static int GetResult()
{
int a = 1;
int b = 2;
int n = 1;
try
{
int k = a / b;
return n;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
throw;
}
finally//不管有没有发生异常 finally都会执行
{
n++;
}
}
static Person GetResult()
{
int a = 1;
int b = 2;
Person p = new Person();
p.Age = 1;
try
{
int k = a / b;
return p;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
throw;
}
finally//不管有没有发生异常 finally都会执行
{
p.Age++;
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有