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.

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