米鼠商城

多块好省,买软件就上米鼠网

最新项目

  • 加油站系统开发

    预算:$150,000.00

    类别:软件开发>企业软件

    15602人关注
  • 筹金结算系统

    预算:$35,000.00

    类别:软件开发>其他软件开发

    15592人关注
  • 物业项目开发

    预算:$40,000.00

    类别:移动应用>其他移动应用

    17136人关注
  • CRM系统

    预算:$60,000.00

    类别:网站建设>网站开发

    19212人关注
  • 微信公众号账号开发

    预算:$18,000.00

    类别:移动应用>其他移动应用

    19444人关注
  • 网站商城开发

    预算:$50,000.00

    类别:网站建设>网站开发

    18412人关注

人才服务

靠谱的IT人才垂直招聘平台

基础——异常处理

  • DDAlex
  • 9
  • 2019-06-12 16:01

异常是在程序执行期间出现的问题。C#中的异常是对程序运行时出现的特殊情况的一种响应。C#在处理异常时提供了4个关键字:

  • try : 一个try块标识了一个将被激活的特定的异常的代码块。后跟一个或多个catch块。
  • catch : 程序通过异常处理程序捕获异常。catch关键字表示异常的捕获。
  • finally : finally块用于执行给定的语句,不管异常是否被抛出或者执行。
  • throw : 当问题出现时,程序抛出一个异常。

C#中的异常类:

异常类 描述
System.IO.IOException 处理 I/O 错误。
System.IndexOutOfRangeException 处理当方法指向超出范围的数组索引时生成的错误。
System.ArrayTypeMismatchException 处理当数组类型不匹配时生成的错误。
System.NullReferenceException 处理当依从一个空对象时生成的错误。
System.DivideByZeroException 处理当除以零时生成的错误。
System.InvalidCastException 处理在类型转换期间生成的错误。
System.OutOfMemoryException 处理空闲内存不足生成的错误。
System.StackOverflowException 处理栈溢出生成的错误。

我们可以看一下以下程序:

using System;

namespace ErrorHandlingApplication
{
    class DivNumbers
    {
        int result;
        DivNumbers()
        {
            result = 0;
        }
        public void division(int num1,int num2)
        {
            try
            {
                result = num1 / num2;
            }
            catch(DivideByZeroException e)
            {
                Console.WriteLine("Exception caught : " + e);
            }
            finally
            {
                Console.WriteLine("Result : " + result);
            }
        }
        static void Main(string[] args)
        {
            DivNumbers d = new DivNumbers();
            d.division(25, 0);
            Console.ReadKey();
            //Console.WriteLine("Hello World!");
        }
    }
}

主函数传参25,0给方法division,异常捕捉到被除数是0,所以,提示异常!

创建用户自定义异常:

using System;

namespace ErrorHandlingApplication
{
    class TestTemperature
    {
        static void Main(string[] args)
        {
            Temperature temp = new Temperature();
            try
            {
                temp.showTemp();
            }
            catch(TemIsZeroException e)
            {
                Console.WriteLine("TempIsZeroException : " + e.Message);
            }
            Console.ReadKey();
        }
    }
    public class TemIsZeroException : ApplicationException
    {
        public TemIsZeroException(string message) : base(message)
        {

        }
    }
    public class Temperature
    {
        int temperature = 0;
        public void showTemp()
        {
            if (temperature == 0)
                throw (new TemIsZeroException("Zero Temperature found"));
            else
                Console.WriteLine("Temperature : " + temperature);
        }
    }
}

 



这里给大家推荐一个在线软件复杂项交易平台:米鼠网 https://www.misuland.com

米鼠网自成立以来一直专注于从事软件项目人才招聘软件商城等,始终秉承“专业的服务,易用的产品”的经营理念,以“提供高品质的服务、满足客户的需求、携手共创双赢”为企业目标,为中国境内企业提供国际化、专业化、个性化、的软件项目解决方案,我司拥有一流的项目经理团队,具备过硬的软件项目设计和实施能力,为全国不同行业客户提供优质的产品和服务,得到了客户的广泛赞誉。

猜你喜欢

评论留言