异常处理

Posted mr-prince

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常处理相关的知识,希望对你有一定的参考价值。

一、程序运行时产生的错误通过使用一种称为异常(Exception)的机制在程序中传递,通过异常处理(Exception Handling)有助于处理程序运行过程中发生的意外或异常情况;异常可由CLR和客户端代码抛出(Throw),抛出的异常会在调用堆栈中传递,直到遇到可以捕获该异常的语句进行处理并中止传递,未捕获的异常会由系统终止进程并由系统的通用异常处理程序处理,通常会显示一个包含异常信息的对话框;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 定制异常
{
   
    class Program
    {
        public static double MyFunc(double divident, double divisor)
        { 
            if(divident==0)
            {
                throw new MyException { MyInfo = "亲爱的,被除数不能为零哦!" };
            }
            else
            {
                return divident / divisor;
            }
        }
        static void Main(string[] args)
        {
            double x = 0;
            double y = 10;
          try
            {
                MyFunc(x, y);
            }catch(MyException e)
            {
                Console.WriteLine("MyException Throw:" + e.MyInfo);

            }catch(Exception e)
            {
                Console.WriteLine("UnKnow Exception:" + e);
                throw;
            }

            finally
            {
                Console.WriteLine("捕获异常结束!");
            }

            Console.ReadLine();
            
        }
    }

    class MyException:Exception
    {
        public string MyInfo;
    }
}

以上是关于异常处理的主要内容,如果未能解决你的问题,请参考以下文章

使用片段中的处理程序时出现非法状态异常

Java异常处理机制

java 反射代码片段

java.util.MissingResourceException: Can't find bundle for base name init, locale zh_CN问题的处理(代码片段

使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段

片段中的Android致命异常