Add AssertionException, specialize pprint
diff --git a/Evaluator.h b/Evaluator.h
index 47ea941..7034669 100644
--- a/Evaluator.h
+++ b/Evaluator.h
@@ -59,6 +59,23 @@
     AstNode _failedAt;
 };
 
+class AssertionException : public QException
+{
+public:
+    AssertionException(QString message = "");
+    AssertionException(const AssertionException &other) = default;
+
+    QString message() const;
+
+    void raise() const override;
+    AssertionException *clone() const override;
+
+    operator QString() const;
+
+private:
+    QString _message;
+};
+
 class Evaluator {
 public:
 	Evaluator();