com.trolltech.qt
Class QNoNativeResourcesException
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
com.trolltech.qt.QNoNativeResourcesException
- All Implemented Interfaces:
- java.io.Serializable
public class QNoNativeResourcesException
- extends java.lang.RuntimeException
The QNoNativeResourcesException is used to indicate that the C++
native resources of a Java object are destroyed while it is still
referenced in Java.
Most Qt Jambi objects consist of a C++ part, i.e., native C++
resources, and a Java peer that wraps the public functions of the
native objects. In most cases one can rely on the Java memory
model and let objects be garbage collected, in which case this
kind of exception will never occur (the garbage collector will
only collect unreferenced memory in Java).
In some cases, the ownership of an object is transferred to C++,
for instance, when QObjects are passed a parent or items are added
to a QGraphicsScene. In these cases the C++ part of the object
can be deleted explicitly by, for instance, using the C++ "delete"
keyword. When the C++ part of the object has been deleted it can
no longer be used and this exception is thrown.
If you are encountering this exception, it is likely due to one of
the following reasons:
The object you are accessing is owned by Qt Jambi
and has been destroyed.
The object you are accessing is an object created by Qt Jambi and
then passed to you via a call to a non-final method you have overridden (e.g. an
event handler.) Many such objects are temporary and you should not retain
references to them.
You have manually called dispose() or disposeLater() on the object to delete
the native resources.
It is possible to check if an object has a valid C++ part or not
by checking that the value of nativeId() is non-null.
- See Also:
- Serialized Form
Methods inherited from class java.lang.Throwable |
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
QNoNativeResourcesException
public QNoNativeResourcesException(java.lang.String message)