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 + "] вне границ"); } } }