Ejemplo n.º 1
0
void exn_raise_by_class(Class* exc_class, const char* exc_message,
    jthrowable exc_cause)
{
    assert(!is_unwindable());
    assert(exc_class);
    exn_raise_by_class_internal(exc_class, exc_message, exc_cause);
}
Ejemplo n.º 2
0
void exn_throw_by_name(const char* exc_name, const char* exc_message,
    jthrowable exc_cause)
{
    assert(is_unwindable());

    exn_throw_by_name_internal(exc_name, exc_message, exc_cause);
}
Ejemplo n.º 3
0
void exn_raise_by_name(const char* exc_name, const char* exc_message,
    jthrowable exc_cause)
{
    assert(hythread_is_suspend_enabled());
    assert(!is_unwindable());
    assert(exc_name);
    exn_raise_by_name_internal(exc_name, exc_message, exc_cause);
}
Ejemplo n.º 4
0
IDATA jthread_throw_exception_object(jobject object)
{
    if (interpreter_enabled()) {
        // FIXME - Function set_current_thread_exception does the same
        // actions as exn_raise_object, and it should be replaced.
        hythread_suspend_disable();
        set_current_thread_exception(object->object);
        hythread_suspend_enable();
    } else {
        if (is_unwindable()) {
            exn_throw_object(object);
        } else {
            ASSERT_RAISE_AREA;
            exn_raise_object(object);
        }
    }

    return 0;
}
Ejemplo n.º 5
0
void exn_raise_object(jthrowable exc_object)
{
    assert(!is_unwindable());
    assert(exc_object);
    exn_raise_object_internal(exc_object);
}
Ejemplo n.º 6
0
void exn_throw_object(jthrowable exc_object) {
    assert(is_unwindable());
    exn_throw_object_internal(exc_object);
}