Frage zu Übungsaufgabe
- 
					
					
					
					
 Hallo, 
 ich habe eine Übungsaufgabe mit die ich nicht verstehe kann mir das bitte jemand erklären.
 Aufgabe:
 Stellen Sie sich vor, Sie wollen an einer Stelle Ihres Programms alle möglichen auftretenden Exceptions und RuntimeExceptions behandeln. Welche von den beiden Ausnahmen müssen Sie zuerst abfangen - die vom Typ Exception oder die vom Typ RuntimeExceptionMeine Lösung wäre folgende: 
 Ich fange zuerst die RuntimeException ab weil RuntimeException von Exception erbt und wenn ich zuerst Exception abfange wird der catch-block für RuntimeException nie erreichttry{ //mach Irgendwas } catch (RuntimeException runex){} catch (Exception ex){}die Musterlösung machts aber genau anders herum. Hab ich die Aufgabe oder die Exceptions nicht verstanden?  /* * "Grundkurs Programmieren in Java - Band 1 (3. Auflage, 2006)I" * 2001-2006, Carl Hanser Verlag * Loesungsvorschlag zu Aufgabe (Version 3.0) * (c) 2001-2006 D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger * */ public class ExceptionTest { public static void main (String[] args) { try { // mache irgendwas } catch (Exception ex) { System.out.println( "Exception abgefangen! " ); } catch (RuntimeException ex) { System.out.println( "RuntimeException abgefangen!" ); } } }Das ganze ist aus dem "Grundkurs Programmieren in Java - Band 1" Gruß eiskalt 
 
- 
					
					
					
					
 Ich denke dein Code müsste stimmen und die Lösung ist falsch. Die Lösung im Buch ist wenig sinnvoll, da das catch( RuntimeException ) sowieso nie erreicht wird, da RuntimeException tiefer in der Vererbungshierarchie liegt als Exception. Sollte sogar einen compilation error geben mit "Unreachable code" oder sowas. Als goldene Regel: 
 Die catch-Klauseln immer so anordnen, dass Klassen, die zu oberst in der Vererbungshierarchie am Schluss kommen.
 
- 
					
					
					
					
 na gott sei Dank und ich dachte schon ich bin blöde  THX