Chyba: chybějící návratová hodnota (missing return value)

Při programování v jazyce Java se může vyskytnout chyba spojená s chybějící návratovou hodnotou (missing return value) v metodě, která by měla vrátit nějakou hodnotu, ale nestane se tak.

Tato chybová situace nastává, když deklarujeme metodu s návratovým typem, který není void (prázdný), tedy očekáváme, že metoda vrátí nějakou hodnotu, avšak v těle metody se nenachází příkaz return , který by nám umožnil tuto hodnotu vrátit.

Pro lepší pochopení této chyby je důležité si uvědomit, že metoda s určitým návratovým typem by měla vždy vrátit hodnotu tohoto typu, a to včetně všech možných větvení a situací. Pokud se tak nestane, kompilátor jazyka Java nás upozorní chybovou zprávou "missing return value".

K vyřešení této chyby je třeba zajistit, aby všechny větve metody (pokud jde o metodu s více větvemi) obsahovaly příkaz return s návratovou hodnotou daného typu. Pokud bychom měli metodu, která v určitých situacích nemá vrátit žádnou hodnotu, měla by mít návratový typ void.

Zde je příklad kódu v jazyce Java, který ilustruje chybu "missing return value":

Příklad kódu 1

V tomto příkladu metoda divide má za úkol provést dělení čísel a ab. Pokud druhé číslo b není nulou, vrátí se výsledek dělení a/b. Nicméně, pokud je b roven nule, chybí příkaz return, který by vrátil hodnotu. To vytváří chybu "chybějící návratová hodnota", protože všechny větve metody by měly mít příkaz return pro správné fungování.

Pro opravu této chyby je třeba přidat příkaz return s odpovídající hodnotou do všech větví metody:

Příklad kódu 2

Takýmto způsobem metoda vždy vrátí hodnotu, dokonce iv případě, kdy druhé číslo je nulou, a tím se odstraní chyba "chybějící návratová hodnota".

Abychom tuto chybu odstranili, je třeba přidat příkaz return s návratovou hodnotou i do větve if, která obsahuje návratový typ.

Celkově je důležité si uvědomit, že pokud v metodě očekáváme návratovou hodnotu, je nutné zajistit, aby všechny větve obsahovaly příkaz return s odpovídající hodnotou.

V tomto článku jsme se podívali na chybu "missing return value" v jazyce Java, která vzniká při neprodání návratové hodnoty v metodě, která by ji měla vrátit. Pro správné fungování programu je důležité zajistit, aby všechny návratové typy byly obsaženy ve všech větvích dané metody.

Jak začít programovat?

Úvod do programování pro každého bez předchozích znalostí.

Stáhněte si náš ebook teď výjimečně zdarma!!!

Cicso Lab v Bratislave

Mohlo by vás zaujímať:

Java TeamLeader Připraven pomoci.

Java TeamLeader

Online kurz programování v Javě

Školenie-java-pre-začíatočnikov

Programování není obtížné! Kódování vlastních appek v nástroji Java je veliká zábava. Do konce léta programujete vy sami nebo vaše bystré děti své první appky

Jak začít programovat?

Ako začať programovať?

Úvod do programování pro každého bez předchozích znalostí. SStáhněte si náš ebook teď výjimečně zdarma!!!

Ovládněte GIT a GitHub z příkazové řádky jako hacker

Školení-java-pro-začátečníky

Vyhraďte si den-dva a naučte se pracovat s GITem tak, že vám vaši kolegové budou dívat přes rameno, jak to do pekla děláte... od úplných základů přes praktické příklady.

7denní výzva programování Webu

7dňová výzva programovania Webu

Budete umět vytvářet pěkné weby koncem příštího týdne? Ano, dá se to! Rádi vám s tím pomůžeme. Stačí přijmout Sedmidenní výzvu a rezervovat si tento kurz