Was bewirkt ganz genau throw hinter einem Funktionsnamen?

Schuriko

Bekanntes Mitglied
Was bewirkt ganz genau throw hinter einem Funktionsnamen?

Konkretes Beispiel:
Ich habe einen Copy Constructor (es könnte auch jede andere x-beliebige Funktion sein)
Code:
        public Country(Country country) {
            super();
          
            this.name = country.name;
            this.iso = country.iso;
        }

Diesem Copy Constructor könnte man auch null übergeben. Dieses würde aber zu einer java.lang.NullPointerException führen, die von außen aufgefangen werden kann. Was konkret ist also der unterschied zwischen

void myfunc(Class class) {
...
}

und

void myfunc(Class class) throw Exception {
...
}
 

VfL_Freak

Top Contributor
Moin,

der erste Aufruf fängt KEINE Exception ab - oder allenfalls im Code mit TRY-CATCH innerhalb der geschweiften Klammern!
Der zeite Aufruf fängt eine (allgemeine) Excperstion ab und gibt sie an die aufrufende Stelle zurück, wo sie dann entweder abgearbeitet wird oder wiederum an die aufrufende Stelle weitergereicht wird!

VG Klaus
 

mrBrown

Super-Moderator
Mitarbeiter
Was konkret ist also der unterschied zwischen
throws Exception gibt an, dass diese Methode eine (Checked) Exception werfen kann.
Das führt dazu, dass du diese innerhalb der Methode werfen darfst, und beim Aufrufen der Methode beachten musst.

Bei einer NPE macht das keinen Unterschied, dies ist eine Runtime Exception (unchecked Exception), die du nicht explizit behandeln musst.

Der zeite Aufruf fängt eine (allgemeine) Excperstion ab
Ne, nur throws fängt nichts ab.
 
Zuletzt bearbeitet:

Schuriko

Bekanntes Mitglied
Danke euch beiden.

Also müsste das obige konkrete Beispiel korrekterweise wie folgt lauten:
Code:
public Country(Country country) throws java.lang.NullPointerException {
            super();
          
            this.name = country.name;
            this.iso = country.iso;
        }
 

mrBrown

Super-Moderator
Mitarbeiter
Wie gesagt; NPEs und alle anderen RuntimeExceptions musst du nicht angeben, die das throws kannst du in dem Fall weg lassen.
Sinnvoll ist das dabei nur für Dokumentationszwecke.
 
K

kneitzel

Gast
Nein. Denn NPE ist eine unchecked exception.

Macht ja auch keinen Sinn. Statt Code zu schreiben, der einen null Pointer abfängt solltest Du einfach vor dem Aufruf auf null prüfen.
 

mihe7

Top Contributor
Noch ein Hinweis, damit hier keine Missverständnisse aufkommen: mit dem SCNR habe ich mir dafür entschuldigt, dass ich scherzhaft unsinnigen Code gepostet habe, der den Punkt von @kneitzel völlig überspitzt darstellt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K mit <<1 kann man mal 2 machen, mit >>2 geteilt durch zwei und was bewirkt <<<1 und >>>1? Java Basics - Anfänger-Themen 5
V Was bewirkt das Schlüsselwort extends in Verbindung mit class bzw. public class ? Java Basics - Anfänger-Themen 2
Nicole1989 Was Bewirkt dieser Java Code? Java Basics - Anfänger-Themen 4
D Was genau bedeutet und bewirkt dieses @override? Java Basics - Anfänger-Themen 15
T setMaximumSize bewirkt nichts Java Basics - Anfänger-Themen 4
frau-u Was bewirkt "<<" oder ">>"? Java Basics - Anfänger-Themen 2
R Was bewirkt dieser Code? Java Basics - Anfänger-Themen 6
K Verstehe Rekursion nicht ganz Java Basics - Anfänger-Themen 7
S Eine Idee umsetzen ganz schnell!? Java Basics - Anfänger-Themen 68
districon Backtracking funktioniert nicht ganz Java Basics - Anfänger-Themen 3
ZH1896ZH Verstehe verschieden Scanner und hasNext() nicht ganz Java Basics - Anfänger-Themen 2
O Ganz einfache Frage - Array Java Basics - Anfänger-Themen 5
S Ich verstehe die RegEx Tabelle von Javadoc nicht so ganz Java Basics - Anfänger-Themen 3
chuxXo Input/Output CSV Datei wird nicht ganz ausgelesen Java Basics - Anfänger-Themen 5
M Comparable und Comparator nicht ganz klar Java Basics - Anfänger-Themen 1
S Dateien/LinkedList/StringBuffer - SOrtierung klappt nicht so ganz Java Basics - Anfänger-Themen 2
T Sortieren/Suche klappt nicht ganz (String Array) Java Basics - Anfänger-Themen 2
P ganz simpler algorithmus Java Basics - Anfänger-Themen 3
B Erste Schritte Schleife will nicht ganz Java Basics - Anfänger-Themen 3
M Ganz einfaches Beispiel, finde den Fehler aber nicht :( Java Basics - Anfänger-Themen 2
V Ganz kurze Java-Hilfe - Ich finde meinen Fehler nicht Java Basics - Anfänger-Themen 4
-horn- Wer nicht ganz schlau - Java in GPU? Java Basics - Anfänger-Themen 9
T JScrollPane ganz runter Scrollen Java Basics - Anfänger-Themen 4
F Datentypen Ganz simpler Taschenrechner mit switch Java Basics - Anfänger-Themen 10
A If-Schleife spinnt - ganz einfach Code - Riesen Problem :) Java Basics - Anfänger-Themen 9
S vielleich ganz simpel.. Java Basics - Anfänger-Themen 7
H Typumwandlung String --> Int (ganz einfach) Java Basics - Anfänger-Themen 9
Developer_X Java GridLayout nicht ganz ausgereift Java Basics - Anfänger-Themen 6
G Hilfe: Label soll ganz nach oben! Java Basics - Anfänger-Themen 6
D Projekt mit einer Datenbank verwirklichen, oder vlt ganz and Java Basics - Anfänger-Themen 2
T Ganz simple Konstruktoraufgabe Java Basics - Anfänger-Themen 3
M Caeser Verschlüsselung ganz einfach(nicht für mich) Java Basics - Anfänger-Themen 6
N In einer JToolbar das Icon ganz rechts anordnen Java Basics - Anfänger-Themen 5
D Hab mal eine Frage. ganz leicht wahrscheinlich :D Java Basics - Anfänger-Themen 6
V Insert into klappt nicht so ganz Java Basics - Anfänger-Themen 6
P Farbwertanteile ausrechnen! geht so nich ganz Java Basics - Anfänger-Themen 2
D Methode aufrufen funktioniert nicht ganz - Rückgabewert Bool Java Basics - Anfänger-Themen 12
L Brauche ganz dringed Hilfe Java Basics - Anfänger-Themen 2
S Primary Key in JTable unsichtbar, geht nicht ganz Java Basics - Anfänger-Themen 2
K Ganz am Anfang - Java + Datenbank Java Basics - Anfänger-Themen 6
V ganz kurzes kskb mit Problem - keine Ausgabe Java Basics - Anfänger-Themen 2
L ganz komisch Java Basics - Anfänger-Themen 5
H Brauche ganz dringend HILFEEE! Math random Java Basics - Anfänger-Themen 19
S Brauche ganz dringend Hilfe Java Basics - Anfänger-Themen 4
M Code nicht ganz einleuchtend Java Basics - Anfänger-Themen 2
W Vererbung GANZ KOMISCH Java Basics - Anfänger-Themen 3
N Wahrscheinlich ganz einfaches Problem, aber unverständlich! Java Basics - Anfänger-Themen 3
M Suche einen ganz einfachen Editor (syntax Highlighting+comp) Java Basics - Anfänger-Themen 7
M Verstehe den Quellcode nicht ganz Java Basics - Anfänger-Themen 3
T Grundlagen ganz am Anfang Java Basics - Anfänger-Themen 12
G Scanner tut nicht ganz so wie er soll Java Basics - Anfänger-Themen 3
T Ganz schlimme Frage.:) ResultSet Java Basics - Anfänger-Themen 12
F Ganz simples Problem: Kovertieren von Double zu Integer Java Basics - Anfänger-Themen 2
G Problem mit einer ganz einfachen Funktion Java Basics - Anfänger-Themen 8
V Grafik ist nur ganz kurz sichtbar Java Basics - Anfänger-Themen 3
B Ganz neu Java Basics - Anfänger-Themen 8
A ganz am Anfang Java Basics - Anfänger-Themen 15
Dilandau array oder victor oder was ganz anderes? Java Basics - Anfänger-Themen 8
P Ganz dumme Fragen Java Basics - Anfänger-Themen 7
B Brauche Hilfe bei nem ganz einfachen Programm... Java Basics - Anfänger-Themen 4
D Eine GANZ dumme Frage Java Basics - Anfänger-Themen 22
T Kann mir jemand wörtlich erklären, was in dem Code genau passiert? Java Basics - Anfänger-Themen 1
B 49-bit-zahl mit genau 6 Einsen bauen? Java Basics - Anfänger-Themen 21
H BlueJ: was genau ist hier der Fehler? Java Basics - Anfänger-Themen 14
berserkerdq2 Sende eine Nachricht an den Client und leere den Ausgabestorm, was ist damit genau gemeint? Java Basics - Anfänger-Themen 3
U Wie genau funktioniert der ! Operator Java Basics - Anfänger-Themen 3
J Hallo zusammen , was macht diese Methode hier genau? Java Basics - Anfänger-Themen 3
M Was wird hier genau getestet? Java Basics - Anfänger-Themen 9
jhCDtGVjcZGcfzug Was genau ist mit diesem Quellcode gemeint? Java Basics - Anfänger-Themen 5
P Was genau bringt mir es ein Array in eine Liste zu bringen Java Basics - Anfänger-Themen 3
B Webhooks - was genau ist das und was kann damit JAVA Java Basics - Anfänger-Themen 5
B OCR - Rechnungserkennung, wie geht das genau? Java Basics - Anfänger-Themen 59
L Was genau macht -> Java Basics - Anfänger-Themen 18
Dawinartor Erste Schritte Was genau steckt dahinter? Java Basics - Anfänger-Themen 7
J Was genau macht die Methode close() im InputStream? Java Basics - Anfänger-Themen 5
C Polymorphie Was genau ist Polymorphie und wann genau sollte man es verwenden? Java Basics - Anfänger-Themen 9
A Was genau ist ein Standardkonstruktor Java Basics - Anfänger-Themen 10
B Wie funktionieren diese Methoden in diesem Sortierverfahren genau? Java Basics - Anfänger-Themen 2
B Für gesamte Schleife genau X Sekunden benötigen Java Basics - Anfänger-Themen 1
J TabelView - Kann mir jemand die Sequenz genau erklären ? Java Basics - Anfänger-Themen 2
L Was genau macht "public static void" ? Java Basics - Anfänger-Themen 12
G Methoden Was genau macht die Methode light.setInfluencingBounds ? Java Basics - Anfänger-Themen 5
H Wer genau ist 'Er'? Java Basics - Anfänger-Themen 4
K Was macht hier genau return? Java Basics - Anfänger-Themen 2
B Was genau ist getClass().getRessouce() Java Basics - Anfänger-Themen 1
Y Wie setze ich genau eine Stückliste (UML) in Java um? Java Basics - Anfänger-Themen 9
D Was genau ist JDBC? Java Basics - Anfänger-Themen 2
K Code vereinfachen mit Schleife, aber wie genau? Java Basics - Anfänger-Themen 3
L Jarfiles packen, wie geht's genau? Java Basics - Anfänger-Themen 12
D Wann genau nutze ich ein solches Interface? Java Basics - Anfänger-Themen 3
K Wann genau brauche ich die Anweisung gleich null? Java Basics - Anfänger-Themen 10
J keyListener - Genau 1 Aktion soll bei 1 Tastenausdruck ausgeführt werden Java Basics - Anfänger-Themen 11
A Wenn genau welche Liste verwenden? Java Basics - Anfänger-Themen 6
S Erste Schritte Konstruktor - wie genau funktioniert der Code? Java Basics - Anfänger-Themen 16
J Klickposition genau bestimmen Java Basics - Anfänger-Themen 12
N aktuelle Datum Mikrosekunden genau bestimmen Java Basics - Anfänger-Themen 8
S Dezimale Konstanten sind immer positiv oder null - was heisst das den genau? Java Basics - Anfänger-Themen 2
F Was soll dieses Programm genau machen ? Java Basics - Anfänger-Themen 9
D Wie genau programmiere ich eine Assoziationsklasse? Java Basics - Anfänger-Themen 3
D Wie genau kann ich in Java Komponenten entwickeln? Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben