Вызов необходимых наследников класса Exception. Прочие правки.

This commit is contained in:
Nikolaeva_Y.A 2022-12-06 10:07:25 +04:00
parent e6dc2035c8
commit 447415895f
4 changed files with 14 additions and 3 deletions

View File

@ -78,7 +78,7 @@ namespace Airbus
{ {
if (!File.Exists(filename)) if (!File.Exists(filename))
{ {
throw new Exception("Файл не найден"); throw new FileNotFoundException("Файл не найден");
} }
using (StreamReader sr = new(filename)) using (StreamReader sr = new(filename))
@ -88,7 +88,7 @@ namespace Airbus
//если не содержит такую запись или пустой файл //если не содержит такую запись или пустой файл
if ((str = sr.ReadLine()) == null || !str.Contains("MapsCollection")) if ((str = sr.ReadLine()) == null || !str.Contains("MapsCollection"))
{ {
throw new Exception("Формат данных в файле неправильный"); throw new FileFormatException("Формат данных в файле неправильный");
} }
_mapStorage.Clear(); _mapStorage.Clear();

View File

@ -1,6 +1,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Runtime.Serialization;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;

View File

@ -36,10 +36,19 @@ namespace Airbus
//добавление объекта в набор на конкретную позицию //добавление объекта в набор на конкретную позицию
public int Insert(T plane, int position) public int Insert(T plane, int position)
{ {
if (position >= _maxCount && position < 0) if (position > _maxCount && position < 0)
{ {
return -1; return -1;
} }
if (_places.Contains(plane))
{
throw new ArgumentException($"Объект {plane} уже есть в наборе");
}
if (Count == _maxCount)
{
throw new StorageOverflowException(_maxCount);
}
_places.Insert(position, plane); _places.Insert(position, plane);
return position; return position;

View File

@ -1,6 +1,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Runtime.Serialization;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;