Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Zu Punkt 2:
Falls der try-Block scheitert, wird der catch Block ausgeführt. Sobald dieser abgeschlossen ist, wird der finally Block ausgeführt.
Falls der try-Block erfolgreich ausgeführt wird, springt der Compiler direkt zu finally weiter.
finally muss immer ausgeführt werden, egal was oben in try/catch passiert!
Zu Punkt 3:
Ich denke, du meinst mit "abgeleitet" Vererbung.
Exceptions können vererbt werden. Deshalb musst du auch immer an das "throws" in jeder vererbten Klasse denken! Falls nicht, behandelst du einen möglicherweise auftretenden Fehler nicht.
Und du solltest immer die Exceptions abfangen, die im Vererbungsbaum weiter unten stehen.
Bsp. Baumstamm --> Ast --> Zweig
Wenn du dann in der Klasse Zweig dich um deine Exceptions kümmerst, dann fange erst die Exceptions aus der eigene Klasse ab.
Java:
catch(ZweigExcpetion zex) {...}
Danach gehst du im Vererbungsbaum weiter nach oben: