Eclipse RCP - Exceptions durchgeben

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi,

ich hab nem größeren RCP - Projekt das Problem, dass einige Exceptions von Eclipse mehr oder weniger verschluckt werden.
So zum Beispiel beim Aufbau der Properties. Wenn dort Null-Pointer Exceptions auftreten, gibt Eclipse diese nicht weiter sondern sie werden irgendwo intern abgefangen und ich bekomm sie nicht zu Gesicht - einziges Indiz für solche Exceptions ist immer nur ein recht mysteriöses Verhalten meines Progs... :roll:

Wenn ich selbst ein try-catch Block um den Teil rumsetzt, in dem die Exception auftritt, kann ich diese abfangen.
So weit so gut - ist aber wie ich find recht unschön und auch ziemlich nervig, da oft nicht ganz klar ist, ob ein komisches Verhalten des Programms von der Programmlogik ausgeht, oder ob es irgendwo ne Exception gab, die Eclipse verschluckt hat von der man dann erstmal auch nicht genau weiß, wo diese aufgetreten sein könnte.

Mein Frage nun: Lässt sich Eclipse irgendwie dazu überreden, dass es diese Exceptions nicht intern ins Nirvana laufen lässt, sondern dass ich sie automatisch zu Gesicht bekomm...? :?:

Unschön wär ne Lösung, wo ich einfach alles in try-catch setzte - irgendwie ja nicht so Sinn der Sache... oder ???:L
 

Wildcard

Top Contributor
Die gehen nicht ins Nirvana, sondern ins log (das du ebenfalls benutzen solltest).
GUI Code wird üblicherweise in SaveRunnables ausgeführt um den Event Thread zu schützen. Wenn du deine Exceptions nicht fängst, muss sich Eclipse eben darum kümmern. Beim Entwickekn immer die Error Log View öffnen, damit du sofort siehst wenn's knallt.
 
G

Guest

Gast
Danke schon mal für deine Hilfe.

Das ist ja eben gerade das große Problem, dass leider eben nicht alle Exceptions bis ins Log durchkommen... :roll:

Die ErrorLogView hab ich schon geöffnet, aber ich hab gerade nochmal die Exception konstruiert, die mir den letzten Nerv geraubt hat und die kam nicht bis ins ErrorLog durch... :bahnhof:

Beim Aufbau (Konstruktor) einer PropertySource greif ich auf ne Klasse zu, im die PropertyWerte zu füllen und ne Methode dieser KLasse greift auf en Variable zu, die NULL ist -> NullPointerException

Und diese seh ich eben leider nirgends in Eclipse - weder in der normalen Konsole noch im ErrorLogView...
Erst wenn ich n try-catch im Konstruktor der PropertySource rumsetzt, erhalte ich die NullPointerException
 

Wildcard

Top Contributor
Ist schon möglich das an dieser Stelle keine Exception ins log kommt. Ist dann eher ein Bug und durchaus ungewöhnlich. Der Konstruktor einer PropertySource ist aber auch eine dämliche Stelle für eine NullPointerException (Konstruktoren allgemein).
Wenn du debuggst, an welcher Stelle bleibt die Exception hängen?
 
G

Guest

Gast
Gute Frage - kann ich so nicht sagen. Ich bekomm sie nur zu greifen, wenn ich selbst nen try-catch um den Aufruf rumsetzt, der die Exception wirft.

Aber wenn du ne Idee hast, wie ich das ganze noch anders lokaliesieren kann, bin ich für jede Hilfe dankbar. :)
 
G

Guest

Gast
hm - wie kann ich mit dem Debugger Exceptions verfolgen, die mir (wenn ich selber keine try-catch Blöcke setzen) gar nicht angezeigt werden...?
Seh ich das dort irgendwo?

Mir scheint es auch so, als ob es ein Versionsspezifisches Problem von Eclipse ist.
Habs grad auf meinem Rechner mit Linux nochmal getestet und da kommt die Exception durch und wird mir angezeigt durch ein wunderschönes PopUp mit ner tollen NullPointerException ???:L
(Unter Windows konnte ich wie gesagt Eclipse erst mit einem try-catch block dazu überreden, mir diese anzuzeigen)
Wieder ein Grund mehr Windows nur unter Androhung von Strafe zu verwenden :cool:

Nichts desto trotz muss es doch auch mit Eclipse Ganymede unter Windows möglich sein, diese Exceptions irgendwie zu Gesicht zu bekommen. Denn bei geschätzten 20.000 Zeilen Code ist die manuelle Lokalisierung doch recht nervenauftreibend...
 

Wildcard

Top Contributor
Geh mit dem Debugger in die Zeile in der die Exception passiert, dann step forward und du bist im zuständigen Catch.
Du kannst auch Exception Breakpoints setzen wenn dir die Stelle nicht bekannt ist.
 
G

Guest

Gast
Danke Wildcard - man lernt doch nie aus :### das mit den exception Breakpoints hab ich nicht gewusst.

So wies aussieht, wird die Exception in diesem Fall von der RCP-Plattform in der Klasse org.eclipse.ui.internal.AbstractSelectionService abgefangen:

Code:
protected void fireSelection(final IWorkbenchPart part, final ISelection sel) {
        Object[] array = listeners.getListeners();
        for (int i = 0; i < array.length; i++) {
            final ISelectionListener l = (ISelectionListener) array[i];
            if ((part != null && sel != null)
                    || l instanceof INullSelectionListener) {
                
                try {
                    l.selectionChanged(part, sel);
                } catch (Exception e) {
                    WorkbenchPlugin.log(e);
                }
            }
        }
    }

An diesme catch bleibt sie hängen - so wies es aussieht liegt der Hund dann in der internen Implementierung von Eclipse begraben :autsch: Da ich unter der Linux-RCP-Version die Exception ja dann seh und sie unter Windows verschluckt wird.
Vielleicht mach ich mir mal die Mühe und Step durch die 50 Aufrufe durch, die die Exception dann durchläuft und schau mal nach, wo sie unter Windows dann genau weggeworfen wird. Scheint also wirklich ein kleiner aber feiner und nervenauftreibender Bug zu sein :roll:

Danke für deine Hilfe nochmal Wildcard
 

Wildcard

Top Contributor
Danke Wildcard - man lernt doch nie aus das mit den exception Breakpoints hab ich nicht gewusst.
Es gibt auch noch conditional breakpoints :wink:
Rechtsklick auf einen Breakpoint -> Breakpoint Properties
Wird doch aber gelogget:
WorkbenchPlugin.log(e);
 
G

Guest

Gast
Wildcard hat gesagt.:
...
Wird doch aber gelogget:
WorkbenchPlugin.log(e);

ja schon - aber wie gesagt, seltsamerweise erscheint nichts im Logfile :roll:
Die Exception verirrt sich wohl irgendwie auf dem weg zum Logfile im Code-Dschungel...
Ich werd bei Gelegeheit mal komplett mit dem Debugger durchsteppen und schaun, an welchem Punkt dann die Exception-Msg genau verschwindet.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E OSGi Eclipse Plug-in programmierung: java.lang.NullPointerException: Cannot enter synchronized block because "profile" is null Plattformprogrammierung 4
R Eclipse Bundles Plattformprogrammierung 2
Robertop RCP Command in bereits bestehendes Eclipse-Menü einbauen Plattformprogrammierung 4
T Java Projekt läuft nur in Eclipse Plattformprogrammierung 6
M Eclipse Plugin PreferencePage BooleanFieldEditor Plattformprogrammierung 1
F OSGi Plugin unter Eclipse arbeitet anders als wenn veröffentlicht Plattformprogrammierung 2
D RCP P2-Repository für Eclipse-Plugins Plattformprogrammierung 0
M Debuging in Eclipse Annotations Processor Plattformprogrammierung 0
D Nach Sprachpaket Installation kann eclipse nicht mehr gestartet werden Plattformprogrammierung 4
L0MiN Wie kann ich ein Klassendiagramm aus Eclipse heraus erstellen? Plattformprogrammierung 5
M Eclipse Probleme beim Ausführen eines Programms Plattformprogrammierung 3
feinperligekohlensaeure Eclipse Workspace gemeinsam Nutzen -> keine .project Datei Plattformprogrammierung 1
F Eclipse Build Path auf benötigte Projekte Plattformprogrammierung 4
B Daten von Eclipse extern sichern Plattformprogrammierung 2
B Eclipse zeigt Fehler nach Java-Update auf 1.8.0_40 Plattformprogrammierung 3
VfL_Freak [Eclipse] Fehleranzeige im Reiter "Problems" Plattformprogrammierung 1
S Errors in workspace bei eclipse Plattformprogrammierung 3
T eclipse bietet keine META-INF an Plattformprogrammierung 1
N Eclipse wo starten Plattformprogrammierung 6
A Eclipse schließt einfach ohne Fehlermeldung Plattformprogrammierung 4
W Eclipse vergißt beim Exportieren Resources-Ordner Plattformprogrammierung 11
A RCP Eclipse e4 und Injection-Contexts Plattformprogrammierung 0
K Eclipse fährt nicht mehr hoch. Metadatendatei schuld? Plattformprogrammierung 7
C [Eclipse RCP E4]InjectionException: no actual value was found for the argument "MDirtyable" Plattformprogrammierung 8
T Eclipse Eigenschaften hinzufügen Plattformprogrammierung 2
M RCP [Eclipse RCP 3.4] ViewTab Kontextmenu "Alle schließen" Plattformprogrammierung 0
D Problem mit eclipse Plattformprogrammierung 2
S Verschieben des Verzeichnis .eclipse aus Userprofile Plattformprogrammierung 3
A RCP Kann kein Eclipse 4 Projekt anlegen Plattformprogrammierung 0
S RCP Exportiertes RCP Produkt lädt Datei nicht, bei Start aus Eclipse wird Datei jedoch gefunden Plattformprogrammierung 6
G Eine Library in Eclipse zur Verfügung stellen Plattformprogrammierung 14
Gregorrr Eclipse RCP Product Build-Nummer + Jenkins Plattformprogrammierung 6
R Einfaches Eclipse-Plugin-Beispiel funktioniert nicht Plattformprogrammierung 5
H OSGi OSGi + Logback + slf4j - Eclipse Run Configuration Plattformprogrammierung 7
C plugin development environment eclipse Plattformprogrammierung 4
R RCP Commands nutzen / org.eclipse.ui.file.save Plattformprogrammierung 7
O Installiere externe Methode "containsNone" in Eclipse Plattformprogrammierung 2
M Keybinding in Eclipse Plugin Plattformprogrammierung 3
TheWhiteShadow RCP Konstrukt für Editor in Eclipse gesucht. Plattformprogrammierung 3
B Eclipse Probleme mit build Plattformprogrammierung 8
H Keine Hilfe/API mehr in Eclipse Juno? Plattformprogrammierung 4
B Neue SuppressWarning in Eclipse Juno Plattformprogrammierung 6
B Eclipse Property Page Plattformprogrammierung 6
B Eclipse PreferencePage Plattformprogrammierung 3
B Eclipse Plugin Einstellungsleiste Plattformprogrammierung 2
B Birt-Previewer über Eclipse Plattformprogrammierung 14
J Eclipse Plug-In für UML-Diagramme Problem Plattformprogrammierung 4
O Eclipse Plugin - Einfachstes Problem, das es gibt. Plattformprogrammierung 2
R Eclipse RCP Tabellen-View (Anfängerfrage) Plattformprogrammierung 3
C Eclipse: Notification beim umbennen von Methoden? Plattformprogrammierung 4
schalentier Eclipse Sourcecode Plattformprogrammierung 4
A Eclipse undo/redo button reagiert nicht auf Änderungen in der OperationHistory Plattformprogrammierung 5
P Eclipse M2_REPO (NON MODIFIABLE) Plattformprogrammierung 8
B Eclipse: Contextmenu id erhalten? Plattformprogrammierung 9
H Datei in eclipse wird nicht erkannt Plattformprogrammierung 3
O Neues Tastenkürzel für Eclipse Editorfenster registrieren Plattformprogrammierung 2
3 Eclipse Editor Plugin selektiert Projekt nicht Plattformprogrammierung 10
Madlip RCP eclipse.ui.bindings (Key-Problematik) Plattformprogrammierung 2
S Eclipse vs. JavaMail vs. Ubuntu vs. Windows Plattformprogrammierung 3
M eclipse führt applikationen nicht mehr aus Plattformprogrammierung 6
S Eclipse: Auf CTRL-C/CTRL-V im Package Explorer? Plattformprogrammierung 4
M Eclipse und Hilfen Plattformprogrammierung 5
G Eclipse buggt rum!!! Plattformprogrammierung 4
B Eclipse RCP und Java 7 Plattformprogrammierung 7
G RCP Eclipse Editor + Guice Plattformprogrammierung 8
T RCP Eclipse RCP: Wo/wann im Plugin ist workbench initialisiert? Plattformprogrammierung 14
G Eclipse Plug-in: wie refreshe ich eine combobox? Plattformprogrammierung 4
M Eclipse Plug-in: Wie eine Grafik einfügen? Plattformprogrammierung 20
M RCP [Eclipse RCP] Feature Export und "Fehler"... Plattformprogrammierung 3
P Eclipse speichert keine Änderungen Plattformprogrammierung 5
M Eclipse - Dokumentation nicht über das Internet benutzen Plattformprogrammierung 3
C Eclipse Plugin NoClassDefFoundError Plattformprogrammierung 4
E org.eclipse.ui.dialogs.ListSelectionDialog erzeugt ClassNotFoundException zur Laufzeit Plattformprogrammierung 4
M Eclipse Plugin Entwicklung - NoClassDefFoundError Plattformprogrammierung 10
C RCP Verständnisfrage Eclipse/Equinox Plattformprogrammierung 4
D eclipse-RCP von der Konsole baut nicht Plattformprogrammierung 3
L RCP Eclipse Popupmenu im PackageExplorer erweitern? Plattformprogrammierung 7
C Eclipse Plugin Entwicklung: Editor für Flussdiagramme Plattformprogrammierung 6
S (OSGI - EQUINOX) Welche Eclipse IDE? Plattformprogrammierung 3
C Pdf in jar datei einbinden mit eclipse Plattformprogrammierung 23
G neuer branch in SVN mit Eclipse Plattformprogrammierung 6
F RCP eclipse rcp ohne eclipse? Plattformprogrammierung 15
dzim RCP Eclipse Provisioning Plattformprogrammierung 3
G RCP Abhängigkeiten von Eclipse Plugins Plattformprogrammierung 9
K Eclipse RCP, EMF, Hibernate Problem Plattformprogrammierung 7
B RCP eigenes Eclipse Plugin wird nicht aufgelöst Plattformprogrammierung 7
T Eclipse Helios XMLUnit importieren Plattformprogrammierung 6
R Verwendung pdfbox in Maven-Projekt in Eclipse Plattformprogrammierung 3
lumo RCP wechseln der Font von Eclipse per code Plattformprogrammierung 10
lumo RCP Eclipse internationalisierung Plattformprogrammierung 5
jemandzehage Kurze Fehlernachricht beim starten in Eclipse Plattformprogrammierung 5
A RCP java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.EclipseStarter Plattformprogrammierung 7
P Wie bekomme ich ICompilationUnit aus dem event? bei Eclipse-Plugin Plattformprogrammierung 3
Rudolf External Libs dauerhaft in Eclipse einbinden Plattformprogrammierung 3
G RCP Eclipse UI Forms Plattformprogrammierung 10
musiKk RCP Eclipse: Speichern von Spaltenbreiten Plattformprogrammierung 9
X Datei in einem Eclipse Projekt über Plugin zugreifen Plattformprogrammierung 2
P Eclipse Help: Wie Links zu anderer Hilfeseite setzen ? Plattformprogrammierung 5
F Eclipse EMF Modelltransformation Plattformprogrammierung 3
tfa RCP Compilereinstellungen festlegen bei Eclipse-Batch-Build Plattformprogrammierung 9

Ähnliche Java Themen

Neue Themen


Oben