综合练习-抛出除数为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();
}
}
}