Index: src/ControlStruct/ExceptTranslate.cc
===================================================================
--- src/ControlStruct/ExceptTranslate.cc	(revision c1dfa4e1998ac7bdd877a54a01b705fe98743346)
+++ src/ControlStruct/ExceptTranslate.cc	(revision b2de2e04eb7c307b839c2cbceb597aae13d17dfe)
@@ -10,6 +10,6 @@
 // Created On       : Wed Jun 14 16:49:00 2017
 // Last Modified By : Andrew Beach
-// Last Modified On : Thr May 21 13:18:00 2020
-// Update Count     : 15
+// Last Modified On : Tue May 26 10:56:00 2020
+// Update Count     : 16
 //
 
@@ -134,10 +134,7 @@
 		ObjectDecl * decl = dynamic_cast<ObjectDecl *>( catchStmt->get_decl() );
 		// Also checking the type would be nice.
-		if ( decl ) {
-			// Pass.
-		} else if ( CatchStmt::Terminate == catchStmt->get_kind() ) {
-			SemanticError(catchStmt->location, "catch must have exception type");
-		} else {
-			SemanticError(catchStmt->location, "catchResume must have exception type");
+		if ( !decl || !dynamic_cast<PointerType *>( decl->type ) ) {
+			std::string kind = (CatchStmt::Terminate == catchStmt->kind) ? "catch" : "catchResume";
+			SemanticError( catchStmt->location, kind + " must have pointer to an exception type" );
 		}
 
Index: tests/exceptions/.expect/type-check.txt
===================================================================
--- tests/exceptions/.expect/type-check.txt	(revision b2de2e04eb7c307b839c2cbceb597aae13d17dfe)
+++ tests/exceptions/.expect/type-check.txt	(revision b2de2e04eb7c307b839c2cbceb597aae13d17dfe)
@@ -0,0 +1,4 @@
+exceptions/type-check.cfa:8:1 error: catch must have pointer to an exception type
+exceptions/type-check.cfa:9:1 error: catch must have pointer to an exception type
+exceptions/type-check.cfa:10:1 error: catchResume must have pointer to an exception type
+exceptions/type-check.cfa:11:1 error: catchResume must have pointer to an exception type
Index: tests/exceptions/type-check.cfa
===================================================================
--- tests/exceptions/type-check.cfa	(revision b2de2e04eb7c307b839c2cbceb597aae13d17dfe)
+++ tests/exceptions/type-check.cfa	(revision b2de2e04eb7c307b839c2cbceb597aae13d17dfe)
@@ -0,0 +1,12 @@
+// Check that the exception type check works.
+
+#include <exception.hfa>
+
+TRIVIAL_EXCEPTION(truth);
+
+int main(int argc, char * argv[]) {
+	try {} catch (int e) {}
+	try {} catch (truth & e) {}
+	try {} catchResume (int e) {}
+	try {} catchResume (truth & e) {}
+}
