summaryrefslogtreecommitdiff
path: root/src/main/java/exceptions/VSNegativeNumberException.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/exceptions/VSNegativeNumberException.java')
-rw-r--r--src/main/java/exceptions/VSNegativeNumberException.java32
1 files changed, 29 insertions, 3 deletions
diff --git a/src/main/java/exceptions/VSNegativeNumberException.java b/src/main/java/exceptions/VSNegativeNumberException.java
index edf2049..a2f5bf6 100644
--- a/src/main/java/exceptions/VSNegativeNumberException.java
+++ b/src/main/java/exceptions/VSNegativeNumberException.java
@@ -1,12 +1,38 @@
package exceptions;
/**
- * The Interface VSNegativeNumberException, this exception is thrown if
- * a negative number has returned if a positive number has been expected.
+ * Exception thrown when a negative number is encountered where a positive number is expected.
+ * This is typically used for validation of numeric inputs that must be non-negative.
*
* @author Paul C. Buetow
*/
-public class VSNegativeNumberException extends Exception {
+public class VSNegativeNumberException extends VSSimulatorException {
/** The serial version uid */
private static final long serialVersionUID = 1L;
+
+ /**
+ * Constructs a new negative number exception.
+ */
+ public VSNegativeNumberException() {
+ super("Negative number not allowed");
+ }
+
+ /**
+ * Constructs a new negative number exception with the specified field name.
+ *
+ * @param fieldName the name of the field that contained the negative number
+ */
+ public VSNegativeNumberException(String fieldName) {
+ super("Negative number not allowed for field: " + fieldName);
+ }
+
+ /**
+ * Constructs a new negative number exception with the specified field name and value.
+ *
+ * @param fieldName the name of the field that contained the negative number
+ * @param value the negative value that was encountered
+ */
+ public VSNegativeNumberException(String fieldName, long value) {
+ super(String.format("Negative number not allowed for field '%s': %d", fieldName, value));
+ }
}