zoukankan      html  css  js  c++  java
  • 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;
        }
    }
    
  • 相关阅读:
    httprunner 3.x学习12
    httprunner 3.x学习11
    PyTorch中.view()与.reshape()方法以及.resize_()方法的对比
    算术编码简介
    量化参数QP:quantization parameter 以及 HEVC
    H.265/HEVC编码结构
    H.265 视频编码中的 CTU, CU, PU, TU
    I帧、P帧、B帧、GOP、IDR 和PTS, DTS之间的关系
    视频编码 率失真性能评价指标:PSNR SSIM BD-rate BD-PSNR
    矢量量化(VQ,Vector Quantization)
  • 原文地址:https://www.cnblogs.com/wei1349/p/12918513.html
Copyright © 2011-2022 走看看