Hallo!
Das ist eine interne Klasse und jetzt hätte ich gerne gewusst, was passiert ist, wenn in dem try-catch-Block eine NullPointerException gefangen wird, denn beim Debuggen sehe ich in der Zeile, wo der Fehler auftreten muss, also im try-Teil nichts, was null ist.
"listener" ist gesetzt, also kann ja eigentlich nur mit "CoObRAPersistentObject.this" was nicht stimmen oder? Aber genau da ist das Problem: ich denke mir ist nicht ganz die Bedeutung dieses Ausdruckes klar, kann mir das jemand erklären? Ich weiß schon was eine solche Exception aussagt aber leider ist mir nicht klar, wo die hier geworfen werden kann.
Also ich glaube die Essenz meiner Frage ist: Was bedeutet "CoObRAPersistentObject.this"?
Danke im Voraus.
Code:
class ChangeNotifier implements Runnable
{
/**
* Change that was taken
*/
ObjectChange change;
/**
* Listeners to be called
*/
Set listeners;
/**
* Constructor for class ChangeNotifier
*
* @param change change that was taken
* @param listeners listeners to be notified
*/
ChangeNotifier( ObjectChange change, Set listeners )
{
this.change = change;
this.listeners = listeners;
}
/**
* When an object implementing interface <code>Runnable</code> is used to create a thread,
* starting the thread causes the object's <code>run</code> method to be called in that
* separately executing thread.
*
* The general contract of the method <code>run</code> is that it may take any action
* whatsoever.
*
* @see java.lang.Thread#run()
*/
public void run()
{
synchronized ( CoObRAPersistentObject.this )
{
if ( listeners != null )
{
Iterator it = listeners.iterator();
while ( it.hasNext() )
{
CoObRAChangeListener listener = (CoObRAChangeListener) it.next();
try
{
listener.acknowledgeChange( CoObRAPersistentObject.this, change );
} catch ( Exception e )
{
e.printStackTrace();
}
}
}
}
}
}
Das ist eine interne Klasse und jetzt hätte ich gerne gewusst, was passiert ist, wenn in dem try-catch-Block eine NullPointerException gefangen wird, denn beim Debuggen sehe ich in der Zeile, wo der Fehler auftreten muss, also im try-Teil nichts, was null ist.
"listener" ist gesetzt, also kann ja eigentlich nur mit "CoObRAPersistentObject.this" was nicht stimmen oder? Aber genau da ist das Problem: ich denke mir ist nicht ganz die Bedeutung dieses Ausdruckes klar, kann mir das jemand erklären? Ich weiß schon was eine solche Exception aussagt aber leider ist mir nicht klar, wo die hier geworfen werden kann.
Also ich glaube die Essenz meiner Frage ist: Was bedeutet "CoObRAPersistentObject.this"?
Danke im Voraus.