public void exception(TraceInfo trace, Class<? extends BaseBaseException> e, String message, Object... args) {
        ClassEntity entity = fetchClass(e);
        IObject object = entity.newObjectWithoutConstruct(this);

        if (object instanceof BaseException) {
            exception(trace, (BaseException) object, message, args);
        } else if (object instanceof BaseError) {
            exception(trace, (BaseError) object, message, args);
        } else {
            throw new CriticalException("Unable to create extension object from class " + e.getName());
        }
    }
Remove all method which does not destruct

@throws Throwable
jphp-runtime/src/php/runtime/env/Environment.java