diff --git a/src/Exceptions/AirplaneNotFoundException.java b/src/Exceptions/AirplaneNotFoundException.java new file mode 100644 index 0000000..2b70188 --- /dev/null +++ b/src/Exceptions/AirplaneNotFoundException.java @@ -0,0 +1,16 @@ +package src.Exceptions; +import java.io.Serializable; +public class AirplaneNotFoundException extends RuntimeException implements Serializable { + public AirplaneNotFoundException(int i) { + super("Не найден объект по позиции " + i); + } + public AirplaneNotFoundException(Throwable ex) { + super(ex); + } + public AirplaneNotFoundException(String message) { + super(message); + } + public AirplaneNotFoundException(String message, Throwable ex) { //Throwable люди пишут, посмотри внимательно + super(message, ex); + } +} diff --git a/src/Exceptions/AirplaneStorageOverflowException.java b/src/Exceptions/AirplaneStorageOverflowException.java new file mode 100644 index 0000000..899e56e --- /dev/null +++ b/src/Exceptions/AirplaneStorageOverflowException.java @@ -0,0 +1,17 @@ +package src.Exceptions; + +import java.io.Serializable; +public class AirplaneStorageOverflowException extends RuntimeException implements Serializable{ + public AirplaneStorageOverflowException(Throwable ex){ + super(ex); + } + public AirplaneStorageOverflowException(int count){ + super("В наборе превышено допустимое количество локомотивов: " + count); + } + public AirplaneStorageOverflowException(String message){ + super(message); + } + public AirplaneStorageOverflowException(String message, Throwable ex){ + super(message, ex); + } +} diff --git a/src/FormAirplaneCollection.java b/src/FormAirplaneCollection.java index c6a5de3..69ec9c3 100644 --- a/src/FormAirplaneCollection.java +++ b/src/FormAirplaneCollection.java @@ -17,9 +17,9 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; -import java.util.HashMap; -import java.util.Map; -import java.util.Scanner; + +import org.apache.logging.log4j.*; + class TxtSaveFilter extends FileFilter { @Override diff --git a/src/Generics/AirplaneGenericCollection.java b/src/Generics/AirplaneGenericCollection.java index 2be90f0..5434d01 100644 --- a/src/Generics/AirplaneGenericCollection.java +++ b/src/Generics/AirplaneGenericCollection.java @@ -2,8 +2,9 @@ package src.Generics; import src.DrawningObjects.DrawningAirplane; import src.MovementStrategy.IMoveableObject; import src.DrawningObjects.ExtentionDrawningAirplane; -import src.MovementStrategy.DrawningObjectAirplane; + +import com.sun.nio.sctp.InvalidStreamException; import java.awt.*; import java.awt.image.BufferedImage; import java.io.File; @@ -38,7 +39,7 @@ public class AirplaneGenericCollection collection = GetCollection(collectionName); if(collection == null) diff --git a/src/Generics/SetGeneric.java b/src/Generics/SetGeneric.java index d27570a..30d4650 100644 --- a/src/Generics/SetGeneric.java +++ b/src/Generics/SetGeneric.java @@ -1,4 +1,7 @@ package src.Generics; +import src.Exceptions.AirplaneNotFoundException; +import src.Exceptions.AirplaneStorageOverflowException; + import java.util.ArrayList; import java.util.List; @@ -18,6 +21,8 @@ public class SetGeneric { } public boolean Insert(T airplane, int position){ + if(_places.size() == _maxCount) + throw new AirplaneStorageOverflowException(_maxCount); if (!(position >= 0 && position <= _places.size() && _places.size() < _maxCount)) return false; _places.add(position, airplane); @@ -27,7 +32,7 @@ public class SetGeneric { public boolean Remove(int position){ if(!(position >= 0 && position < _places.size())) - return false; + throw new AirplaneNotFoundException(position); _places.remove(position); return true; }