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":
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:
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.
Úvod do programovania pre každého bez prechádzajúcich znalostí.
Stiahnite so náš ebook teraz výnimočne zdarma!!!