summaryrefslogtreecommitdiffstats
path: root/vm/Exception.h
diff options
context:
space:
mode:
authorDan Bornstein <danfuzz@android.com>2011-03-01 10:28:42 -0800
committerDan Bornstein <danfuzz@android.com>2011-03-01 11:06:12 -0800
commit9b598e34e2401bda77fca9c8f3a5c50e882e6d68 (patch)
tree58d813c186e0956900a068d3fd8e57ca529c5e7b /vm/Exception.h
parent98f3eb12bf2a33c49712e093d5cc2aa713a93aa5 (diff)
downloadandroid_dalvik-9b598e34e2401bda77fca9c8f3a5c50e882e6d68.tar.gz
android_dalvik-9b598e34e2401bda77fca9c8f3a5c50e882e6d68.tar.bz2
android_dalvik-9b598e34e2401bda77fca9c8f3a5c50e882e6d68.zip
Clean up a few more exceptions.
This includes a fix for ExceptionInInitializerError, which previously could have gotten thrown before itself being initialized. Change-Id: I3f27091f79b1a7e965c6261d3ff78109e0e4a23f
Diffstat (limited to 'vm/Exception.h')
-rw-r--r--vm/Exception.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/vm/Exception.h b/vm/Exception.h
index 37553ba8e..16330a433 100644
--- a/vm/Exception.h
+++ b/vm/Exception.h
@@ -265,9 +265,22 @@ void dvmThrowClassFormatError(const char* msg);
/**
* Throw a ClassNotFoundException in the current thread, with the given
- * detail message.
+ * class name as the detail message.
+ */
+void dvmThrowClassNotFoundException(const char* name);
+
+/**
+ * Throw a ClassNotFoundException in the current thread, with the given
+ * cause, and the given class name as the detail message.
+ */
+void dvmThrowChainedClassNotFoundException(const char* name, Object* cause);
+
+/*
+ * Throw the VM-spec-mandated error when an exception is thrown during
+ * class initialization. Unlike other helper functions, this automatically
+ * wraps the current thread's pending exception.
*/
-void dvmThrowClassNotFoundException(const char* msg);
+void dvmThrowExceptionInInitializerError(void);
/**
* Throw a FileNotFoundException in the current thread, with the given