如何解决ArgumentOutOfRangeException?

时间:2018-06-28 17:14:27

标签: c#

我正在尝试解决这一小问题,但我没有得到结果:

using System;
using System.Globalization;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {

            int N;
            double x, y, resultado;

            N = int.Parse(Console.ReadLine());

            for(int i=0; 1<N; i++)
            {
                string[] wubaluba = Console.ReadLine().Split(' ');
                x = double.Parse(wubaluba[0], CultureInfo.InvariantCulture);
                y = double.Parse(wubaluba[1], CultureInfo.InvariantCulture);
                if (y == 0.0)
                {
                    Console.WriteLine("Não Existe!");
                }
                else
                {
                    resultado = x / y;
                    Console.WriteLine(resultado.ToString("F3", CultureInfo.InvariantCulture));
                }
            }
            Console.ReadLine();
        }
    }
}

有人可以帮助我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

您也像其他任何异常一样解决它:

  1. 配置您的IDE以停止出现异常
  2. 在调试器中运行调试版本
  3. 等待IDE停止并显示异常消息

您将获得确切的代码行。您将拥有ArgumentOutOfRangeException的异常文本,该异常文本将告诉您错误的参数名称。

然后您可以检查变量值以查看罪魁祸首。如果像您的情况一样,您有不可见的变量(例如来自Console.ReadLine()的结果),请重构该语句并将其分配给变量。

答案 1 :(得分:0)

在您的代码尝试访问 wubaluba [1] 之前。您可能想要添加代码来检查您的字符串数组是否实际至少包含2个元素。