优秀的编程知识分享平台

网站首页 > 技术文章 正文

综合练习(17-4)程序异常处理-C#零基础入门学习

nanyue 2024-07-19 23:57:46 技术文章 5 ℃

综合练习-抛出除数为0的异常

创建一个控制台应用程序,创建一个int类型的方法myint,此方法有两个string类型的参数a和b。

在这个方法中,使用a作为被除数,b作为除数,如果除数为0,则通过throw语句抛出DivideByZeroException异常,这个异常被此方法中的catch子句捕获并输出。

完整示例代码:

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

namespace Demo
{
    class Program
    {

        static int MyInt(string a, string b)//创建一个int类型的方法,参数分别是a和b
        {
            int int1;//定义被除数
            int int2;//定义除数
            int num;//定义商
            try//使用try…catch语句
            {
                int1 = int.Parse(a);//将参数a强制转换成int类型后赋给int1
                int2 = int.Parse(b);//将参数b强制转换成int类型后赋给int2
                if (int2 == 0)//判断int2是否等于0,如果等于0,抛出异常
                {
                    throw new DivideByZeroException();//抛出DivideByZeroException类的异常
                }
                num = int1 / int2;//计算int1除以int2的值
                return num;//返回计算结果
            }
            catch (DivideByZeroException de)//捕获异常
            {
                Console.WriteLine("用零除整数引发异常!");
                Console.WriteLine(de.Message);
                return 0;
            }
        }
        static void Main(string[] args)
        {
            try//使用try…catch语句
            {
                Console.Write("请输入分子:");//提示输入分子
                string str1 = Console.ReadLine();//获取键盘输入的值
                Console.Write("请输入分母:");//提示输入分母
                string str2 = Console.ReadLine();//获取键盘输入的值
                //调用MyInt方法,获取键盘输入的分子与分母相除得到的值
                Console.WriteLine("分子除以分母的值:" + MyInt(str1, str2));
            }
            catch (FormatException)//捕获异常
            {
                Console.WriteLine("请输入数值格式数据");//输出提示
            }
            Console.ReadLine();

        }
    }
}
最近发表
标签列表