Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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

Constructor Summary
`QNoNativeResourcesException(java.lang.String message)`

Method Summary

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`

Constructor Detail

### QNoNativeResourcesException

    public QNoNativeResourcesException(java.lang.String message)

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD