Compare commits
3 Commits
557028cc39
...
8021e8ec78
Author | SHA1 | Date | |
---|---|---|---|
8021e8ec78 | |||
b3844b27e5 | |||
54a57600a4 |
@ -7,6 +7,10 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using Microsoft.VisualBasic.Logging;
|
||||||
|
using AirBomber.Exceptions;
|
||||||
|
using Serilog;
|
||||||
|
using Log = Serilog.Log;
|
||||||
|
|
||||||
namespace AirBomber
|
namespace AirBomber
|
||||||
{
|
{
|
||||||
|
@ -5,8 +5,9 @@ using System.Runtime.Serialization;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace AirBomber
|
namespace AirBomber.Exceptions
|
||||||
{
|
{
|
||||||
|
[Serializable]
|
||||||
internal class PlaneNotFoundException: ApplicationException
|
internal class PlaneNotFoundException: ApplicationException
|
||||||
{
|
{
|
||||||
public PlaneNotFoundException(int i) : base($"Не найден объект по позиции {i}") { }
|
public PlaneNotFoundException(int i) : base($"Не найден объект по позиции {i}") { }
|
||||||
|
@ -112,7 +112,7 @@ namespace AirBomber
|
|||||||
}
|
}
|
||||||
if (data.Length == 0)
|
if (data.Length == 0)
|
||||||
{
|
{
|
||||||
return false;
|
throw new Exception("Невалидная операция, нет данных для сохранения");
|
||||||
}
|
}
|
||||||
|
|
||||||
using StreamWriter sw = new(filename);
|
using StreamWriter sw = new(filename);
|
||||||
@ -128,7 +128,7 @@ namespace AirBomber
|
|||||||
{
|
{
|
||||||
if (!File.Exists(filename))
|
if (!File.Exists(filename))
|
||||||
{
|
{
|
||||||
return false;
|
throw new Exception("Файл не найден");
|
||||||
}
|
}
|
||||||
using (StreamReader sr = new(filename))
|
using (StreamReader sr = new(filename))
|
||||||
{
|
{
|
||||||
@ -136,12 +136,12 @@ namespace AirBomber
|
|||||||
|
|
||||||
if (str == null || str.Length == 0)
|
if (str == null || str.Length == 0)
|
||||||
{
|
{
|
||||||
return false;
|
throw new Exception("Нет данных для загрузки");
|
||||||
}
|
}
|
||||||
if (!str.StartsWith("PlaneStorage"))
|
if (!str.StartsWith("PlaneStorage"))
|
||||||
{
|
{
|
||||||
//если нет такой записи, то это не те данные
|
//если нет такой записи, то это не те данные
|
||||||
return false;
|
throw new Exception("Неверный формат данных");
|
||||||
}
|
}
|
||||||
|
|
||||||
_planeStorages.Clear();
|
_planeStorages.Clear();
|
||||||
@ -170,7 +170,7 @@ namespace AirBomber
|
|||||||
{
|
{
|
||||||
if ((collection + plane) == -1)
|
if ((collection + plane) == -1)
|
||||||
{
|
{
|
||||||
return false;
|
throw new Exception("Ошибка добавления в коллекцию");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,7 +53,10 @@ namespace AirBomber
|
|||||||
// проверка, что после вставляемого элемента в массиве есть пустой элемент
|
// проверка, что после вставляемого элемента в массиве есть пустой элемент
|
||||||
// сдвиг всех объектов, находящихся справа от позиции до первого пустого элемента
|
// сдвиг всех объектов, находящихся справа от позиции до первого пустого элемента
|
||||||
// TODO вставка по позиции
|
// TODO вставка по позиции
|
||||||
if (position < 0 || position >= _maxCount) return -1;
|
if (position < 0 || position >= _maxCount)
|
||||||
|
{
|
||||||
|
throw new StorageOverflowException(_maxCount);
|
||||||
|
}
|
||||||
_places.Insert(position, plane);
|
_places.Insert(position, plane);
|
||||||
return position;
|
return position;
|
||||||
}
|
}
|
||||||
@ -68,7 +71,7 @@ namespace AirBomber
|
|||||||
// TODO удаление объекта из массива, присвоив элементу массива значение null
|
// TODO удаление объекта из массива, присвоив элементу массива значение null
|
||||||
if (!(position >= 0 && position < Count) || _places[position] == null)
|
if (!(position >= 0 && position < Count) || _places[position] == null)
|
||||||
{
|
{
|
||||||
return false;
|
throw new PlaneNotFoundException(position);
|
||||||
}
|
}
|
||||||
_places[position] = null;
|
_places[position] = null;
|
||||||
return true;
|
return true;
|
||||||
|
19
AirBomber/AirBomber/StorageOverflowException.cs
Normal file
19
AirBomber/AirBomber/StorageOverflowException.cs
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Runtime.Serialization;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace AirBomber.Exceptions
|
||||||
|
{
|
||||||
|
[Serializable]
|
||||||
|
internal class StorageOverflowException: ApplicationException
|
||||||
|
{
|
||||||
|
public StorageOverflowException(int count) : base($"В наборе превышено допустимое количество: { count}") { }
|
||||||
|
public StorageOverflowException() : base() { }
|
||||||
|
public StorageOverflowException(string message) : base(message) { }
|
||||||
|
public StorageOverflowException(string message, Exception exception) : base(message, exception) { }
|
||||||
|
protected StorageOverflowException(SerializationInfo info, StreamingContext contex) : base(info, contex) { }
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user