+
+/* exception functions ********************************************************/
+
+/* these should not be called */
+
+void throw_exception(void) { assert(0); }
+void throw_exception_exit(void) { assert(0); }
+java_objectheader *new_verifyerror(methodinfo *m, const char *message) { assert(0); }
+java_objectheader *new_exception_throwable(const char *classname, java_lang_Throwable *throwable) { assert(0); }
+
+
+void throw_cacao_exception_exit(const char *exception, const char *message, ...)
+{
+ va_list ap;
+
+ fprintf(stderr, "%s: ", exception);
+
+ va_start(ap, message);
+ vfprintf(stderr, message, ap);
+ va_end(ap);
+
+ exit(1);
+}
+
+
+java_objectheader *new_exception(const char *classname)
+{
+ fprintf(stderr, "%s\n", classname);
+ exit(1);
+}
+
+
+java_objectheader *new_exception_message(const char *classname, const char *message)
+{
+ fprintf(stderr, "%s: %s\n", classname, message);
+ exit(1);
+}
+
+
+java_objectheader *new_exception_utfmessage(const char *classname, utf *message)
+{
+ fprintf(stderr, "%s: ", classname);
+ utf_display(message);
+ fputc('\n', stderr);
+
+ exit(1);
+}
+
+
+java_objectheader *new_classformaterror(classinfo *c, const char *message, ...)
+{
+ va_list ap;
+
+ utf_display(c->name);
+ fprintf(stderr, ": ");
+
+ va_start(ap, message);
+ vfprintf(stderr, message, ap);
+ va_end(ap);
+
+ fputc('\n', stderr);
+
+ exit(1);
+}
+
+
+java_objectheader *new_internalerror(const char *message, ...)
+{
+ va_list ap;
+
+ fprintf(stderr, "%s: ", string_java_lang_InternalError);
+
+ va_start(ap, message);
+ vfprintf(stderr, message, ap);
+ va_end(ap);
+
+ exit(1);
+}
+
+
+java_objectheader *new_unsupportedclassversionerror(classinfo *c, const char *message, ...)
+{
+ va_list ap;
+
+ fprintf(stderr, "%s: ", string_java_lang_UnsupportedClassVersionError);
+
+ utf_display(c->name);
+ fprintf(stderr, ": ");
+
+ va_start(ap, message);
+ vfprintf(stderr, message, ap);
+ va_end(ap);
+
+ exit(1);
+}
+
+
+java_objectheader *new_negativearraysizeexception(void)
+{
+ fprintf(stderr, "%s", string_java_lang_NegativeArraySizeException);
+ exit(1);
+}
+
+
+java_objectheader *new_nullpointerexception(void)
+{
+ fprintf(stderr, "%s", string_java_lang_NullPointerException);
+ exit(1);
+}
+
+