diff --git a/Catamaran/Program.cs b/Catamaran/Program.cs index a331085..0f4923c 100644 --- a/Catamaran/Program.cs +++ b/Catamaran/Program.cs @@ -17,6 +17,7 @@ namespace Catamaran [STAThread] static void Main() { + Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); diff --git a/Catamaran/SetBoatsGeneric.cs b/Catamaran/SetBoatsGeneric.cs index 811fe0c..445ecd9 100644 --- a/Catamaran/SetBoatsGeneric.cs +++ b/Catamaran/SetBoatsGeneric.cs @@ -48,7 +48,8 @@ namespace Catamaran return i; } } - return -1; + throw new StorageOverflowException(_maxCount); + } /// /// Добавление объекта в набор на конкретную позицию @@ -59,7 +60,11 @@ namespace Catamaran public int Insert(T boat, int position) { // TODO проверка позиции - if (position < 0 || position >= _maxCount) return -1; + if (position < 0 || position >= _maxCount) + { + throw new IndexOutOfRangeException(); + + } // TODO проверка, что элемент массива по этой позиции пустой,если нет, то // проверка, что после вставляемого элемента в массиве есть пустой элемент // сдвиг всех объектов, находящихся справа от позиции до первого пустого элемента @@ -82,7 +87,7 @@ namespace Catamaran return position; } } - return -1; + throw new BoatNotFoundException(_maxCount); } // TODO вставка по позиции } @@ -94,7 +99,7 @@ namespace Catamaran public T Remove(int position) { // TODO проверка позиции - if (position < 0 || position >= Count) return null; + if (position < 0 || position >= Count) throw new IndexOutOfRangeException(); // TODO удаление объекта из массива, присовив элементу массива значение null var result = _places[position]; _places.RemoveAt(position);