Chyba: chýbajúca návratová hodnota (missing return value)

Pri programovaní v jazyku Java sa môže vyskytnúť chyba spojená s chýbajúcou návratovou hodnotou (missing return value) v metóde, ktorá by mala vrátiť nejakú hodnotu, no nestane sa tak.

Táto chybová situácia nastáva, keď deklarujeme metódu s návratovým typom, ktorý nie je void (prázdny), teda očakávame, že metóda vráti nejakú hodnotu, avšak v tele metódy sa nenachádza príkaz return, ktorý by nám umožnil túto hodnotu vrátiť.

Pre lepšie pochopenie tejto chyby je dôležité si uvedomiť, že metóda s určitým návratovým typom by mala vždy vrátiť hodnotu tohto typu, a to vrátane všetkých možných vetvení a situácií. Ak sa to nestane, kompilátor jazyka Java nás upozorní chybovou správou "missing return value".

Na vyriešenie tejto chyby je potrebné zabezpečiť, aby všetky vetvy metódy (ak ide o metódu s viacerými vetvami) obsahovali príkaz return s návratovou hodnotou daného typu. Ak by sme mali metódu, ktorá v určitých situáciách nemá vrátiť žiadnu hodnotu, mala by mať návratový typ void.

Tu je príklad kódu v jazyku Java, ktorý ilustruje chybu "missing return value":

Príklad kódu 1

V tomto príklade metóda divide má za úlohu vykonať delenie čísel a a b. Ak druhé číslo b nie je nulou, vráti sa výsledok delenia a / b. Avšak, ak je b rovné nule, chýba príkaz return, ktorý by vrátil hodnotu. To vytvára chybu "chýbajúca návratová hodnota", pretože všetky vetvy metódy by mali mať príkaz return pre správne fungovanie.

Na opravu tejto chyby je potrebné pridať príkaz return s odpovedajúcou hodnotou do všetkých vetiev metódy:

Príklad kódu 2

Takýmto spôsobom metóda vždy vráti hodnotu, dokonca aj v prípade, keď druhé číslo je nulou, a tým sa odstráni chyba "chýbajúca návratová hodnota".

Aby sme túto chybu odstránili, je potrebné pridať príkaz return s návratovou hodnotou aj do vetvy if, ktorá obsahuje návratový typ.

Celkovo je dôležité si uvedomiť, že ak v metóde očakávame návratovú hodnotu, je nutné zabezpečiť, aby všetky vetvy obsahovali príkaz return s odpovedajúcou hodnotou.

V tomto článku sme sa pozreli na chybu "missing return value" v jazyku Java, ktorá vzniká pri nepredaní návratovej hodnoty v metóde, ktorá by ju mala vrátiť. Pre správne fungovanie programu je dôležité zabezpečiť, aby všetky návratové typy boli obsiahnuté vo všetkých vetvách danej metódy.

Ako začať programovať?

Úvod do programovania pre každého bez prechádzajúcich znalostí.

Stiahnite so náš ebook teraz výnimočne zdarma!!!

Cicso Lab v Bratislave

Mohlo by vás zaujímať:

Java TeamLeader Pripravený pomôcť.

Java TeamLeader

Online kurz programovania v Jave

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

Programovanie nie je ťažké! Kódenie vlastných appiek v nástroji Java je veľká zábava. Do konca leta programujete vy sami alebo vaše bystré deti svoje prvé appky

Ako začať programovať?

Ako začať programovať?

Úvod do programovania pre každého bez prechádzajúcich znalostí. Stiahnite so náš ebook teraz výnimočne zdarma!!!

Ovládnite GIT a GitHub z príkazového riadku ako hacker

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

Vyhraďte si deň-dva a naučte sa pracovať s GITom tak, že vám vaši kolegovia budú pozerať cez rameno, ako to do pekla robíte... od úplných základov cez praktické príklady.

7dňová výzva programovania Webu

7dňová výzva programovania Webu

Budete vedieť vytvárať pekné weby koncom budúceho týždňa? Áno, dá sa to! Radi vám s tým pomôžeme. Stačí prijať Sedemdňovú výzvu a rezervovať si tento kurz