From b3844b27e523c20015595b0af6af82ca4535fa4a Mon Sep 17 00:00:00 2001 From: malimova Date: Sun, 10 Dec 2023 21:05:30 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BD=D1=8B=D0=B5=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D1=8B?= =?UTF-8?q?=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D0=B0=20PlanesGenericStorage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AirBomber/AirBomber/PlanesGenericStorage.cs | 10 +++++----- AirBomber/AirBomber/SetGeneric.cs | 7 +++++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/AirBomber/AirBomber/PlanesGenericStorage.cs b/AirBomber/AirBomber/PlanesGenericStorage.cs index 3de897f..de74006 100644 --- a/AirBomber/AirBomber/PlanesGenericStorage.cs +++ b/AirBomber/AirBomber/PlanesGenericStorage.cs @@ -112,7 +112,7 @@ namespace AirBomber } if (data.Length == 0) { - return false; + throw new Exception("Невалидная операция, нет данных для сохранения"); } using StreamWriter sw = new(filename); @@ -128,7 +128,7 @@ namespace AirBomber { if (!File.Exists(filename)) { - return false; + throw new Exception("Файл не найден"); } using (StreamReader sr = new(filename)) { @@ -136,12 +136,12 @@ namespace AirBomber if (str == null || str.Length == 0) { - return false; + throw new Exception("Нет данных для загрузки"); } if (!str.StartsWith("PlaneStorage")) { //если нет такой записи, то это не те данные - return false; + throw new Exception("Неверный формат данных"); } _planeStorages.Clear(); @@ -170,7 +170,7 @@ namespace AirBomber { if ((collection + plane) == -1) { - return false; + throw new Exception("Ошибка добавления в коллекцию"); } } } diff --git a/AirBomber/AirBomber/SetGeneric.cs b/AirBomber/AirBomber/SetGeneric.cs index ca8d15b..731639c 100644 --- a/AirBomber/AirBomber/SetGeneric.cs +++ b/AirBomber/AirBomber/SetGeneric.cs @@ -53,7 +53,10 @@ namespace AirBomber // проверка, что после вставляемого элемента в массиве есть пустой элемент // сдвиг всех объектов, находящихся справа от позиции до первого пустого элемента // TODO вставка по позиции - if (position < 0 || position >= _maxCount) return -1; + if (position < 0 || position >= _maxCount) + { + throw new StorageOverflowException(_maxCount); + } _places.Insert(position, plane); return position; } @@ -68,7 +71,7 @@ namespace AirBomber // TODO удаление объекта из массива, присвоив элементу массива значение null if (!(position >= 0 && position < Count) || _places[position] == null) { - return false; + throw new PlaneNotFoundException(position); } _places[position] = null; return true;