• C#异常处理


    C#异常处理

    感谢千峰教育的学习视频

    using System;
    
    //异常:程序在运行的过程中产生的种种的不正常的现象 
    //异常处理:如果一个异常产生,但是没有被处理,这个异常会导致程序奔溃
    /*
     * 语法:
     *      try
     *      {
     *          //可能会出现异常的代码
     *      }
     *      catch(异常类型e)
     *      {
     *          //这里捕获try中可能出现的异常
     *      }
     *      finally
     *      {
     *          //无论程序有没有异常,finally中的代码始终会执行
     *      }
     */
    /*
     * 1、一个try可以匹配多个catch来捕获多种异常
     * 2、如果有多个catch
     *     2.1、如果多个catch捕获的异常彼此之间没有继承关系,那么关系无所谓
     *     2.2、如果多个catch捕获的异常彼此之间有继承关系,那么必须把父类异常放在最后
     *     
     */
    
    public class Program
    {
        public static void Main(string[] args)
        {
            //在C#中,所有的异常都是Exception的子类
            #region
            try
            {
                int[] arr = new int[3];
                arr[4] = 01;
            }
            //来捕获DivideByZeroException
            catch (DivideByZeroException e)
            {
                Console.WriteLine("发生了除0异常!");
            }
            //来捕获IndexOutOfRangeException这个异常
            catch (IndexOutOfRangeException e)
            {
                Console.WriteLine("发生了数组越界的异常!");
            }
            catch(Exception e)
            {
                Console.WriteLine("程序捕获到了异常!");
            }
    
            Console.WriteLine("程序结束了!");
            
    
            #endregion
    		//产生自定义的异常,并将它捕获
            try
            {
                Person.ScoreExceptionDemo();
            }
            catch(ScoreException exception)
            {
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine(exception.Message);
            }
            
    
        }
    
    }
    //自定义异常:继承自Exception类,写一个自己的类即可
    class ScoreException : Exception 
    { 
        //如果希望自定义的异常有描述信息,只需要写一个有参构造即可
        public ScoreException(string message) :  base(message){    }
    }
    
    class Person
    {
        //设计一个会产生异常的方法
        public static void ScoreExceptionDemo()
        {
            //实例化一个异常对象
            ScoreException exception = new ScoreException("哈哈哈,这个是我自定义的异常");
    
            //抛出异常
            throw exception;
        }
    }
    
  • 相关阅读:
    SentiAnalysis
    大数据索引技术 B+ tree vs LSM tree
    Regression, 回归问题
    Data Mining with R
    Why Vector Clock are Easy or Hard?
    How to know what an HRESULT code means?
    如何判断数据库表的某个列上有重复值的记录存在?
    关于SharePoint 2010里Servers in farm页面里status意义的澄清
    SharePoint Security系列 之二 CrossSite Request Forgery
    从MOSS2007升级到SharePoint2010后Report Server content types升级失败
  • 原文地址:https://www.cnblogs.com/wei1349/p/12918513.html
Copyright © 2020-2023  润新知