Index: src/Common/ErrorObjects.hpp
===================================================================
--- src/Common/ErrorObjects.hpp	(revision fca78f10fcf2198f57e0f9e7ea3fe351ee91befa)
+++ src/Common/ErrorObjects.hpp	(revision 83a581a8f2e532e5f2eb1bec3d03ece122c091e5)
@@ -41,5 +41,5 @@
 	void append( SemanticErrorException & other );
 	void append( CodeLocation location, const std::string & );
-	bool isEmpty() const;
+	void throwIfNonEmpty();
 	void print();
   private:
Index: src/Common/SemanticError.cpp
===================================================================
--- src/Common/SemanticError.cpp	(revision fca78f10fcf2198f57e0f9e7ea3fe351ee91befa)
+++ src/Common/SemanticError.cpp	(revision 83a581a8f2e532e5f2eb1bec3d03ece122c091e5)
@@ -88,6 +88,8 @@
 }
 
-bool SemanticErrorException::isEmpty() const {
-	return errors.empty();
+void SemanticErrorException::throwIfNonEmpty() {
+	if ( !errors.empty() ) {
+		throw *this;
+	}
 }
 
