Index: tests/exceptions/interact.cfa
===================================================================
--- tests/exceptions/interact.cfa	(revision 046a8903d149ffd7aa25c33fdf767b8e68ffaaca)
+++ tests/exceptions/interact.cfa	(revision 45fde9f4fa966516f7ec2ec41a39a93b864e08d2)
@@ -4,11 +4,14 @@
 #include "except-io.hfa"
 
-TRIVIAL_EXCEPTION(star);
-TRIVIAL_EXCEPTION(moon);
+EHM_EXCEPTION(star)();
+EHM_EXCEPTION(moon)();
+
+EHM_VIRTUAL_TABLE(star, star_vt);
+EHM_VIRTUAL_TABLE(moon, moon_vt);
 
 int main(int argc, char * argv[]) {
 	// Resume falls back to terminate.
 	try {
-		throwResume (star){};
+		throwResume (star){&star_vt};
 	} catch (star *) {
 		printf("caught as termination\n");
@@ -17,5 +20,5 @@
 	try {
 		loud_region a = "try block with resume throw";
-		throwResume (star){};
+		throwResume (star){&star_vt};
 	} catch (star *) {
 		printf("caught as termination\n");
@@ -29,5 +32,5 @@
 	try {
 		try {
-			throw (star){};
+			throw (star){&star_vt};
 		} catchResume (star *) {
 			printf("resume catch on terminate\n");
@@ -43,5 +46,5 @@
 	try {
 		try {
-			throwResume (star){};
+			throwResume (star){&star_vt};
 		} catch (star *) {
 			printf("terminate catch on resume\n");
@@ -58,5 +61,5 @@
 		try {
 			try {
-				throw (star){};
+				throw (star){&star_vt};
 			} catchResume (star *) {
 				printf("inner resume catch (error)\n");
@@ -75,5 +78,5 @@
 		try {
 			try {
-				throwResume (star){};
+				throwResume (star){&star_vt};
 			} catch (star *) {
 				printf("inner termination catch\n");
@@ -94,10 +97,10 @@
 				try {
 					printf("throwing resume moon\n");
-					throwResume (moon){};
+					throwResume (moon){&moon_vt};
 				} catch (star *) {
 					printf("termination catch\n");
 				}
 				printf("throwing resume star\n");
-				throwResume (star){};
+				throwResume (star){&star_vt};
 			} catchResume (star *) {
 				printf("resumption star catch\n");
@@ -105,5 +108,5 @@
 		} catchResume (moon *) {
 			printf("resumption moon catch, will terminate\n");
-			throw (star){};
+			throw (star){&star_vt};
 		}
 	} catchResume (star *) {
