0

我正在尝试在 C# 中处理DivideByZeroExeption但代码没有捕获异常,10 / d 的控制台打印结果为∞</p>

            double d = 0;
            try
            {
                double value = 10 / d;
                Console.WriteLine(value);
            }
            catch (DivideByZeroException e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine("Ignore...");
            }

在此处输入图像描述 但是当我将d的类型从double更改为intlong时,上面的代码可以正常工作。

4

1 回答 1

0
 int test = 0;
        try
        {
            double value = 10 / test;
            Console.WriteLine(value);
        }
        catch (DivideByZeroException e)
        {
            Console.WriteLine(e.Message);
            Console.WriteLine("Ignore...");
        }

现在这段代码会给你你所期望的错误。它把 d 当作别的东西。DivideByZeroException 仅在整数的情况下出现。

于 2019-10-23T14:29:43.720 回答