diff --git a/lib/private/DB/Exceptions/DbalException.php b/lib/private/DB/Exceptions/DbalException.php
index 4e0e151704860a84f7a178d98b17445a5c6fa832..bdb4d3147ae866371fae23becc5eb0c51f2d5ba5 100644
--- a/lib/private/DB/Exceptions/DbalException.php
+++ b/lib/private/DB/Exceptions/DbalException.php
@@ -75,19 +75,6 @@ class DbalException extends Exception {
 	}
 
 	public function getReason(): ?int {
-		/**
-		 * Generic errors
-		 */
-		if ($this->original instanceof ConnectionException) {
-			return parent::REASON_CONNECTION_LOST;
-		}
-		if ($this->original instanceof DriverException) {
-			return parent::REASON_DRIVER;
-		}
-		if ($this->original instanceof InvalidArgumentException) {
-			return parent::REASON_INVALID_ARGUMENT;
-		}
-
 		/**
 		 * Constraint errors
 		 */
@@ -131,6 +118,19 @@ class DbalException extends Exception {
 			return parent::REASON_SERVER;
 		}
 
+		/**
+		 * Generic errors
+		 */
+		if ($this->original instanceof ConnectionException) {
+			return parent::REASON_CONNECTION_LOST;
+		}
+		if ($this->original instanceof InvalidArgumentException) {
+			return parent::REASON_INVALID_ARGUMENT;
+		}
+		if ($this->original instanceof DriverException) {
+			return parent::REASON_DRIVER;
+		}
+
 		return null;
 	}
 }