Ошибка System.FormatException: Input string was not in a correct format - C#

Узнай цену своей работы

Формулировка задачи:

Разбираю пример из Шилдта, но он у меня почему-то не компиллируется: выдает ошибку System.FormatException: Input string was not in a correct format, которой по идее быть не должно, т.к. в точности повторяю код из учебника. Так где же тут ошибка?
// Использование членов класса Exception.
 
using System;
 
class ExcTest
{
    public static void genException()
    {
        int[] nums = new int[4];
 
        Console.WriteLine("Перед генерированием исключения.");
 
        // Генерируем исключение, связанное с попаданием
        // индекса вне диапазона.
        for (int i = 0; i < 10; i++)
        {
            nums[i] = i;
            Console.WriteLine("nums[{o}]: {1}", i, nums[i]);
        }
 
        Console.WriteLine("Этот текст не отображается.");
    }
}
 
class UseExcept
{
    public static void Main()
    {
 
        try
        {
            ExcTest.genException();
        }
        catch (IndexOutOfRangeException exc)
        {
            Console.WriteLine("Стандартное сообщение таково: ");
            Console.WriteLine(exc);
            Console.WriteLine("Свойство StackTrace: " + exc.StackTrace);
            Console.WriteLine("Свойство Message: " + exc.Message);
            Console.WriteLine("Свойство TargetSite: " + exc.TargetSite);
        }
        Console.WriteLine("После catch-инструкции.");
    }
}

Решение задачи: «Ошибка System.FormatException: Input string was not in a correct format»

textual
Листинг программы
using System;
 
class ExcTest
{
    public static void genException()
    {
        int[] nums = new int[4];
 
        Console.WriteLine("Перед генерированием исключения.");
 
        // Генерируем исключение, связанное с попаданием
        // индекса вне диапазона.
        for (int i = 0; i < 10; i++)
        {
            nums[i] = i;
            Console.WriteLine("nums[{0}]: {1}", i, nums[i]);
        }
 
        Console.WriteLine("Этот текст не отображается.");
    }
}
 
class UseExcept
{
    public static void Main()
    {
 
        try
        {
            ExcTest.genException();
        }
        catch (IndexOutOfRangeException exc)
        {
            Console.WriteLine("Стандартное сообщение таково: ");
            Console.WriteLine(exc);
            Console.WriteLine("Свойство StackTrace: " + exc.StackTrace);
            Console.WriteLine("Свойство Message: " + exc.Message);
            Console.WriteLine("Свойство TargetSite: " + exc.TargetSite);
        }
        Console.WriteLine("После catch-инструкции.");
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.286 из 5
Похожие ответы