Практикум по курсу "Объектно-ориентированное программирование" на языке C#. Андрианова А.А - 90 стр.

UptoLike

89
exists1 = ExistsElement(i, j);
if(exists1 != null)
return false;
}
for(int j = i + 2; j < n; j++)
{
exists1 = ExistsElement(i, j);
if(exists1 != null)
return false;
}
}
return true;
}
Как видно из программного кода методов, при возникновении
ошибочных ситуаций, когда те или иные операции с матрицами будут
невыполнимы, генерируются исключения. Для понятного информирования
пользователя о возникшем исключении удобно создать собственную
иерархию классов-исключений. Например, она может быть такой:
// класс исключения обращения
// к несуществующему элементу матрицы
class BadIndexException : Exception
{
int m1, n1; // размеры матрицы
public BadIndexException(int m1_, int n1_)
{
m1 = m1_;
n1 = n1_;
}
// переопределенное свойство сообщения об исключении
public override string Message
{
get
{
return string.Format("Матрица состоит из {0} строк и {1}
столбцов",m1,n1);
}
}
}
// класс исключения некорректных размеров матриц при сложении
class BadDimensionException : Exception
{
int m1, n1, m2, n2; // несовпадающие размеры двух матриц
                exists1 = ExistsElement(i, j);
                if(exists1 != null)
                   return false;
              }
              for(int j = i + 2; j < n; j++)
              {
                 exists1 = ExistsElement(i, j);
                 if(exists1 != null)
                    return false;
              }
           }
           return true;
      }

     Как видно из программного кода методов, при возникновении
ошибочных ситуаций, когда те или иные операции с матрицами будут
невыполнимы, генерируются исключения. Для понятного информирования
пользователя о возникшем исключении удобно создать собственную
иерархию классов-исключений. Например, она может быть такой:

     // класс исключения обращения
     // к несуществующему элементу матрицы
     class BadIndexException : Exception
     {
        int m1, n1;          // размеры матрицы

          public BadIndexException(int m1_, int n1_)
          {
             m1 = m1_;
             n1 = n1_;
          }

          // переопределенное свойство сообщения об исключении
          public override string Message
          {
             get
             {
                 return string.Format("Матрица состоит из {0} строк и {1}
                                                     столбцов",m1,n1);
             }
          }
     }

     // класс исключения некорректных размеров матриц при сложении
     class BadDimensionException : Exception
     {
        int m1, n1, m2, n2; // несовпадающие размеры двух матриц




89