예제 #1
0
    static void Main()
    {
        FailSoftArray2D fs = new FailSoftArray2D(3, 5);
        int             x;

        // Show quiet failures.
        Console.WriteLine("Fail quietly.");
        for (int i = 0; i < 6; i++)
        {
            fs[i, i] = i * 10;
        }

        for (int i = 0; i < 6; i++)
        {
            x = fs[i, i];
            if (x != -1)
            {
                Console.Write(x + " ");
            }
        }

        Console.WriteLine();

        // Now, display failures.
        Console.WriteLine("\nFail with error reports.");

        for (int i = 0; i < 6; i++)
        {
            fs[i, i] = i * 10;
            if (fs.ErrFlag)
            {
                Console.WriteLine("fs[" + i + ", " + i + "] out-of-bounds");
            }
        }

        for (int i = 0; i < 6; i++)
        {
            x = fs[i, i];
            if (!fs.ErrFlag)
            {
                Console.Write(x + " ");
            }
            else
            {
                Console.WriteLine("fs[" + i + ", " + i + "] out-of-bounds");
            }
        }
    }
    public static void Main()
    {
        FailSoftArray2D fs = new FailSoftArray2D(3, 5);
        int             x;

        // Демонстрируем "мягкую посадку" при ошибках.
        Console.WriteLine("Мягкое приземление.");
        for (int i = 0; i < 6; i++)
        {
            fs[i, i] = i * 10;
        }
        for (int i = 0; i < 6; i++)
        {
            x = fs[i, i];
            if (x != -1)
            {
                Console.Write(x + " ");
            }
        }
        Console.WriteLine();
        //А теперь генерируем ошибки.
        Console.WriteLine(
            "\nРабота с уведомлением об ошибках.");
        for (int i = 0; i < 6; i++)
        {
            fs[i, i] = i * 10;
            if (fs.errflag)
            {
                Console.WriteLine(
                    "fs[" + i + ", " + i + "] вне границ");
            }
        }
        for (int i = 0; i < 6; i++)
        {
            x = fs[i, i];
            if (!fs.errflag)
            {
                Console.Write(x + " ");
            }
            else
            {
                Console.WriteLine(
                    "fs[" + i + ", " + i + "] вне границ");
            }
        }
    }