C# 我应该在哪里放置试抓块?(简单划分法)
这是我的密码:C# 我应该在哪里放置试抓块?(简单划分法),c#,.net,exception,methods,C#,.net,Exception,Methods,这是我的密码: using System; using System.Data; using System.Transactions; namespace BasicCourse.Exceptions { class Program { static void Main(string[] args) { Division(); Console.ReadKey();
using System;
using System.Data;
using System.Transactions;
namespace BasicCourse.Exceptions
{
class Program
{
static void Main(string[] args)
{
Division();
Console.ReadKey();
}
static void Division()
{
Console.Write("Enter a first number: ");
int firstEnteredNumber = int.Parse(Console.ReadLine());
Console.Write("Enter a second number: ");
int secondEnteredNumber = int.Parse(Console.ReadLine());
float quotient = (float) firstEnteredNumber / secondEnteredNumber;
Console.WriteLine("Result of division: " + quotient + "\n");
}
}
}
我正在学习C#中的异常。我想参加除零异常,但我不知道应该在哪里放置try-catch块。在Main方法中:
try
{
Division()
}
catch (DivideByZeroException ex)
etc...?
还是在分区
方法中
static void Main(string[] args)
{
try
{
Division();
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
Console.ReadKey();
}
除以零不会导致异常。你必须加入一些逻辑来处理它
if (float.IsNaN(quotient))
{
//dostuff
}
更新---对不起我读了别人的答案,发现float不会抛出任何异常!我很抱歉,我忘了
尝试将整数或十进制值除以零时引发的异常 控制台显示: 分组表决结果:∞ 事实上,我们不想要这种类型的结果,所以我编辑了答案
因此,我们知道结果是:没有例外。
如果希望方法Division()提醒用户他们正试图除以0,则可以检查该值
static void Division()
{
控制台。写入(“输入第一个数字:”);
int firstEnteredNumber=int.Parse(Console.ReadLine());
控制台。写入(“输入第二个数字:”);
int secondEnteredNumber=int.Parse(Console.ReadLine());
//增加
如果(secondEnteredNumber==0)
{
Console.WriteLine(“不能除以0”);
}
其他的
{
浮点商=(浮点)firstEnteredNumber/secondEnteredNumber;
Console.WriteLine(“除法结果:+商+”\n”);
}
}
在这种情况下,我不会使用try/catch,而是在进行除法之前检查secondEnteredNumber
是否为零。在main中,原因是调用方应负责处理异常,在这种情况下,调用方是Main
当用户输入0作为第二个号码时,您希望发生什么?