Доделал наследников Exception

This commit is contained in:
Tonb73 2024-05-13 10:05:42 +03:00
parent 2d49c8f72f
commit fdde666129
2 changed files with 26 additions and 5 deletions

View File

@ -158,19 +158,19 @@ where T : DrawningLocomotive
if (!File.Exists(filename)) if (!File.Exists(filename))
{ {
throw new Exception("Файл не существует"); throw new FileNotFoundException(filename);
} }
using (StreamReader fs = File.OpenText(filename)) using (StreamReader fs = File.OpenText(filename))
{ {
string str = fs.ReadLine(); string str = fs.ReadLine();
if (str == null || str.Length == 0) if (str == null || str.Length == 0)
{ {
throw new Exception("В файле нет данных"); throw new FileFormatException(filename);
} }
if (!str.StartsWith(_collectionKey)) if (!str.StartsWith(_collectionKey))
{ {
throw new Exception("В файле неверные данные"); throw new FileFormatException(filename);
} }
_storages.Clear(); _storages.Clear();
string strs = ""; string strs = "";
@ -198,12 +198,12 @@ where T : DrawningLocomotive
{ {
if (collection.Insert(locomotive) == -1) if (collection.Insert(locomotive) == -1)
{ {
throw new Exception("Объект не удалось добавить в коллекцию: " + record[3]); throw new InvalidOperationException("Объект не удалось добавить в коллекцию: " + record[3]);
} }
} }
catch (CollectionOverflowException ex) catch (CollectionOverflowException ex)
{ {
throw new Exception("Коллекция переполнена", ex); throw new CollectionOverflowException("Коллекция переполнена", ex);
} }
} }

View File

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
namespace ProjectElectricLocomotive.Exceptions
{
public class EmptyFileExeption : Exception
{
public EmptyFileExeption(string name) : base("Файл" + name + "пустой ") { }
public EmptyFileExeption() : base("В хранилище отсутствуют коллекции для сохранения") { }
public EmptyFileExeption(string name, string message) : base(message) { }
public EmptyFileExeption(string name, string message, Exception exception) :
base(message, exception)
{ }
protected EmptyFileExeption(SerializationInfo info, StreamingContext contex) : base(info, contex) { }
}
}