Compile Error: Missing Return Statement

error: missing return statement

Quick Answer

Not all code paths in your method return a value. Add return statements to every branch or add a default return at the end.

Why This Happens

Java requires that every non-void method returns a value on all possible execution paths. If an if/else chain or switch statement does not cover all cases, the compiler reports a missing return statement. This is a compile-time safety check.

The Problem

public String getGrade(int score) {
    if (score >= 90) {
        return "A";
    } else if (score >= 80) {
        return "B";
    }
    // Missing return for score < 80
}

The Fix

public String getGrade(int score) {
    if (score >= 90) {
        return "A";
    } else if (score >= 80) {
        return "B";
    }
    return "C"; // Default return covers all remaining cases
}

Step-by-Step Fix

  1. 1

    Identify the method

    Find the non-void method that the compiler reports is missing a return statement.

  2. 2

    Trace all code paths

    Walk through every if/else, switch, and loop path to find which branches do not have a return.

  3. 3

    Add the missing return

    Add return statements to uncovered branches, or add a default return at the end of the method.

Got the actual stack trace?

Paste it into our free AI explainer to get the cause and the fix for your specific case — no signup, nothing to install.

Explain my error

Bugsly catches this automatically

Bugsly's AI analyzes this error pattern in real-time, explains what went wrong in plain English, and suggests the exact fix — before your users even report it.

Try Bugsly free