diff --git a/build.gradle b/build.gradle
index 6342a58..3ee598f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -33,7 +33,7 @@ repositories {
dependencies {
implementation('net.dv8tion:JDA:5.0.0-beta.21')
compileOnly('dev.latvian.apps:ansi:1.0.0-build.2')
- implementation('dev.latvian.apps:tiny-java-server:1.0.0-build.7')
+ implementation('dev.latvian.apps:tiny-java-server:1.0.0-build.8')
implementation('org.mongodb:mongodb-driver-sync:5.0.0')
// implementation('org.slf4j:slf4j-simple:2.0.5')
// implementation('com.google.guava:guava:31.1-jre') { exclude group: "com.google.code.findbugs" }
diff --git a/src/main/java/dev/latvian/apps/webutils/html/UserError.java b/src/main/java/dev/latvian/apps/webutils/html/UserError.java
new file mode 100644
index 0000000..b00f800
--- /dev/null
+++ b/src/main/java/dev/latvian/apps/webutils/html/UserError.java
@@ -0,0 +1,19 @@
+package dev.latvian.apps.webutils.html;
+
+import dev.latvian.apps.tinyserver.http.response.HTTPStatus;
+import org.jetbrains.annotations.Nullable;
+
+public class UserError extends RuntimeException {
+ public final HTTPStatus status;
+ public final Tag displayMessage;
+
+ public UserError(HTTPStatus status, String message, @Nullable Tag displayMessage) {
+ super(message);
+ this.status = status;
+ this.displayMessage = displayMessage;
+ }
+
+ public UserError(HTTPStatus status, String message) {
+ this(status, message, null);
+ }
+}
diff --git a/src/test/java/dev/latvian/apps/webutils/test/XMLTests.java b/src/test/java/dev/latvian/apps/webutils/test/XMLTests.java
index 32cb123..64c19b7 100644
--- a/src/test/java/dev/latvian/apps/webutils/test/XMLTests.java
+++ b/src/test/java/dev/latvian/apps/webutils/test/XMLTests.java
@@ -1,5 +1,7 @@
package dev.latvian.apps.webutils.test;
+import dev.latvian.apps.ansi.ANSI;
+import dev.latvian.apps.ansi.color.ANSIColor;
import dev.latvian.apps.ansi.log.Log;
import dev.latvian.apps.webutils.html.TagANSI;
import dev.latvian.apps.webutils.html.XMLParser;
@@ -17,6 +19,6 @@ public void xml() {