---
title: "Missing return statement - varför?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/94087-missing-return-statement-varför"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "tovelainen"
published: "2004-01-06T14:19:10.000Z"
updated: "2004-01-06T15:00:25.000Z"
replies: 2
views: 455
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/94087-missing-return-statement-varför"
---

# Missing return statement - varför?

## #1 — tovelainen, 2004-01-06T14:19Z

hallå ja.
gott nytt år på er!

Jag håller på med en metod. Som ganska ofta händer så får jag meddelandet att det saknas return.  Beror det på alla if-satserna? Får jag inte ha loopar i en metod som kräver return i form av String? Tacksam för lärdom eftersom jag ofta gör om felet:
\-------------------

public String getPorto(int vikt, int längd, int bredd, int höjd) {

    if (vikt \< 6) {
      if (längd \> 50 \|\| bredd \> 30 \|\| höjd \> 40)
        return " 25 kr ";
        else
        return " 5 kr ";
             }
             if (vikt \> 5 && vikt \< 51) {
               if (längd \> 50 \|\| bredd \> 30 \|\| höjd \> 40)
          return " 30 kr ";
          else
          return " 10 kr ";
             }
             if (vikt \> 50 && vikt \< 501) {
               if (längd \> 50 \|\| bredd \> 30 \|\| höjd \> 40)
          return " 50 kr ";
          else
          return " 30 kr ";
             }
             if (vikt \> 500) {
               if (längd \> 50 \|\| bredd \> 30 \|\| höjd \> 40)
          return " 70 kr ";
          else
          return " 50 kr ";
             }
      }

\--------------------------
Tack så länge!

Permalänk: https://www.webforum.nu/p/94087

## #2 — Phorpher, 2004-01-06T14:49Z

Ponera att alla dina yttre if-satser är false. Dvs. ingen av de "inre"-satserna kommer att exekveras. Då har du ett missat "return statement".

Du måste alltså alltid returnera någonting; En return i slutet på funktionen.

**Fel:** *Vad händer om bar är mindre eller lika med fem?*

```
public String Foo(int bar)
{
    if(bar > 5)
        return "Större än fem";
}
```

**Rätt:** *Alla möjliga "vägar" i programflödet har en return-sats.*

```
public String Foo(int bar)
{
    if(bar > 5)
        return "Större än fem";
    else
        return "Mindre eller lika med fem";
}
```

Permalänk: https://www.webforum.nu/p/1244594

## #3 — tovelainen, 2004-01-06T15:00Z

AAAAh!! Tackar så jättemycket. Då fattar jag!
hej från

Permalänk: https://www.webforum.nu/p/1244603

---

Tråden på webben: https://www.webforum.nu/amne/java/94087-missing-return-statement-varför
