首页 > 其他分享 >异常处理基础

异常处理基础

时间:2024-09-20 16:50:28浏览次数:8  
标签:Console ctr 处理 基础 myArray int WriteLine catch 异常

一、使用try和catch进行异常处理 

在执行try语句中的代码时发生异常,程序流程将会立即跳转到catch语句,执行catch语句中的代码,而不是显示晦涩难懂的消息。

using System;

class MyError
{
    public static void Main()
    {
        int[] myArray = new int[5];

        try
        {
            for (int ctr = 0; ctr < 10; ctr++)
            {
                myArray[ctr] = ctr;//有问题的代码
                //Console.WriteLine(myArray[ctr]);
            }
        }

        catch
        {
            Console.WriteLine("The exception was caught!");
        }

        Console.WriteLine("At end of class");
        
    }
}

二、捕获异常信息

将异常作为参数传递进来。

using System;

class MyError
{
    public static void Main()
    {
        int[] myArray = new int[5];

        try
        {
            for (int ctr = 0; ctr < 10; ctr++)
            {
                myArray[ctr] = ctr;//有问题的代码
                //Console.WriteLine(myArray[ctr]);
            }
        }

        catch(Exception e)//将异常作为参数传递进来
        {
            Console.WriteLine("The exception was caught:\n{0}",e);//打印异常的具体内容
        }

        Console.WriteLine("At end of class");
        
    }
}

运行结果: 

 

三、 给try语句提供多个catch语句

使用更为具体的catch语句:

using System;

class MyError
{
    public static void Main()
    {
        int[] myArray = new int[5];

        try
        {
            for (int ctr = 0; ctr < 10; ctr++)
            {
                myArray[ctr] = ctr;//有问题的代码
            }
        }

        catch (IndexOutOfRangeException e)
        //IndexOutOfRangeException该异常类型专门用于索引超出范围的情况
        //因此catch语句将只捕获这种异常
        {
            Console.WriteLine("1111", e);
        }

        catch(Exception e)//将异常作为参数传递进来
        {
            Console.WriteLine("The exception was caught:\n{0}",e);
        }

        Console.WriteLine("222");
        
    }
}

运行结果:

 

四、使用关键字finally

finally语句块中的代码总是会执行。

using System;

class MyError
{
    public static void Main()
    {
        int[] myArray = new int[5];

        try
        {
            for (int ctr = 0; ctr < 10; ctr++)
            {
                myArray[ctr] = ctr;//有问题的代码
            }
        }

        catch(Exception e)//将异常作为参数传递进来
        {
            Console.WriteLine("The exception was caught:\n{0}",e);
        }

        finally
        {
            Console.WriteLine("333");
        }

        Console.WriteLine("222");
        
    }
}

运行结果: 

 

将catch代码块注释起来: 

using System;

class MyError
{
    public static void Main()
    {
        int[] myArray = new int[5];

        try
        {
            for (int ctr = 0; ctr < 10; ctr++)
            {
                myArray[ctr] = ctr;//有问题的代码
            }
        }

        //catch(Exception e)//将异常作为参数传递进来
        //{
        //    Console.WriteLine("The exception was caught:\n{0}",e);
        //}

        finally
        {
            Console.WriteLine("333");
        }

        Console.WriteLine("222");
        
    }
}

运行结果:

可以得出结论:finally代码块总是会执行。 

 

 

 

 

 

标签:Console,ctr,处理,基础,myArray,int,WriteLine,catch,异常
From: https://blog.csdn.net/m0_75031942/article/details/142388703

相关文章

  • 自然语言处理(NLP)实战项目
    自然语言处理(NLP)实战项目可以涵盖多个领域和应用场景,以下是一些具体的实战项目示例,涵盖了从基础到高级的不同层次:1.情感分析(SentimentAnalysis)目标:识别和分类文本中的情感倾向(正面、负面、中性)。应用场景:社交媒体监控、客户反馈分析、产品评论分析。技术栈:数据收集:使用......
  • 海光处理器在Windows下提示虚拟化不可用的解决办法
    一句话总结:需要打开Windows安全中心里的内核隔离功能打开方式:设置-安全与更新-设备安全性-内核隔离,点开关打开遇到不兼容的驱动怎么解决:首先先在设置-应用-应用和功能里查找该驱动的名字,然后卸载掉。(或者控制面板里的程序和功能里找找)如果提示找不到卸载程序,你可以去找找......
  • gin基础-2.响应与请求
    响应gin提供了非常多的响应方法例如字符串、json、html等json响应现在大部分的前后端交互都是以json为主,所以gin中最常用的就是json响应它的用法非常简单c.JSON(200,gin.H{"code":0,"msg":"ok",})但是我们都会对其进行一番封装,例如标准响应格式code,data,ms......
  • 2024最新最全大模型学习规划成长路线(非常详细)零基础入门到精通,看这一篇就够!
    一、前言随着人工智能技术的飞速发展,大模型已成为推动科技进步的重要力量。为了帮助大家更好地掌握大模型相关知识,这里为您量身定制了一份学习规划,分为七个阶段,涵盖理论基础、核心技术、编程基础、实战项目、高级应用、模型微调与私有化部署以及前沿技术探索。二、学习......
  • Nuxt Kit 中的模板处理
    title:NuxtKit中的模板处理date:2024/9/20updated:2024/9/20author:cmdragonexcerpt:摘要:本文详细介绍了在Nuxt3框架中,使用NuxtKit进行模板处理的方法,包括理解模板基本概念、使用addTemplate动态生成文件、应用addTypeTemplate注册类型模板以增强TypeScript支持,以......
  • Cloudera安装指南:打造你的大数据基础环境
    ClouderaManager是CDH市场领先的管理平台。它以其强大的数据管理和分析能力,帮助企业能够轻松驾驭海量数据,实现数据的实时分析与洞察。作为业界第一的端到端 ApacheHadoop 的管理应用,ClouderaManager对CDH的每个部件都提供了细粒度的可视化和控制,从而设立了企业部署......
  • Nuxt Kit 中的模板处理
    title:NuxtKit中的模板处理date:2024/9/20updated:2024/9/20author:cmdragonexcerpt:摘要:本文详细介绍了在Nuxt3框架中,使用NuxtKit进行模板处理的方法,包括理解模板基本概念、使用addTemplate动态生成文件、应用addTypeTemplate注册类型模板以增强TypeScript......
  • PyQGIS开发 3 基础功能开发
    PyQGIS开发3基础功能开发1添加图层树与地图视图1.1添加控件1.2Python代码fromPyQt5.QtCoreimportQMimeDatafromqgis.PyQt.QtWidgetsimportQMainWindowfromqgis._coreimportQgsMapLayer,QgsRasterLayer,QgsVectorLayerfromqgis.coreimportQgsProj......
  • 【网络安全】基础知识详解(非常详细)零基础入门到精通,收藏这一篇就够了_网络安全的入门
    ......
  • 大功率回馈式负载的基础知识
    大功率回馈式负载是一种能够将电能转化为其他形式能量,然后再将其转化回电能的设备。这种设备在电力系统中起着重要的作用,主要用于调节电网的电压和频率,保证电力系统的稳定运行。大功率回馈式负载的工作原理是:当电网电压或频率超过设定值时,负载将多余的电能转化为其他形式的能量,如......