Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我应该在哪里放置试抓块?(简单划分法)_C#_.net_Exception_Methods - Fatal编程技术网

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作为第二个号码时,您希望发生什么?