c#异常处理的机制

1.异常处理的基本语法

int x=0;

try
{
int y=100/x;
}
catch(Exception e) //捕获异常 Ststem.Exception
{
    Console.Writeline(e.Message); //打印异常消息 或者处理异常的操作
}
finally // 不管是否捕捉到异常  都要执行
{
    Console.Writeline("不管怎么样,都打印");
}
// 放在finally后不执行 
throw new NullReferenceException().//扔出异常

2.异常类

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

3.创建用户自定义异常

用户自定义的异常类需要继承 ApplicationException

class TestTemperature
   {
      static void Main(string[] args)
      {
         Temperature temp = new Temperature(); // 实例化一个温度类  
         try
         {
            temp.showTemp();//温度类中 当温度为零 会出现异常TempIsZeroException
         }
         catch(TempIsZeroException e) // 捕捉到异常
         {
            Console.WriteLine("TempIsZeroException: {0}", e.Message); // 打印异常信息
         }
         Console.ReadKey();
      }
   }

public class TempIsZeroException : ApplicationException // 继承 ApplicationException
{
    public TempIsZeroException (string message):base (message)  // 构造方法 
    {   
    }
}

public class Temperature 
{
    int temperature = 0;
    public void showTemp()
    {
        if(temperature==0) 
        {
         throw (new TempIsZeroException("Zero is found"));   // 定义 异常信息
        }
        else
        {
            Console.WriteLine("Temperature:{0}",temperature); //无异常  输出 温度
        }
    }
}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大橘915818

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值