If you execute a statement in your TypeScript program and the program does not display all the lines of code that return a value, this is an error because the compiler reaches the end of the function without a return statement. The return statement completes the execution of the function and returns the value of the calling function. If you’re wondering why you’re getting the error, our coding experts are here to help!
What causes the error not all code paths return a value in Typescript
Your system tells you that not all code paths return a value. Because it takes at least one string to return a value to the caller, but in the meantime, what if your function doesn’t return a string? If the function definition has no return information, control is automatically returned to the called function after the last statement of the called function is executed.
Example:
const getFruits = (value: string) => { if (value == "orange") { return "orange"; } else if (value == "apple") { return "apple"; } else { // The error occurs here because in this case there is no return value } };
Output:
Error: Not all code paths return a value
The above code gives us an error. Why? The else field is not returned when this method is executed. But if you turn off noImplicitReturns
in tsconfig.json
, you can run the code. But we don’t recommend fixing this as such because there are many questions about why values are not returned in some cases.
Solution for error not all code paths return a value in Typescript
Throw a error
We raise a new error in the ‘else
‘ block when this condition is met. The calling code can handle the error and continue with other operations. Since there is one return value for all conditions, this should fix the error.
Example:
const getFruits = (value: string) => { if (value == "orange") { return "orange"; } else if (value == "apple") { return "apple"; } else { // Throw an error, so calling code can handle the error and continue with other operations throw new Error("no matching fruit"); } };
Return null value
Return null can solve this error, but we recommend using the solution throw an error.
Example:
const getFruits = (value: string) => { if (value == "orange") { return "orange"; } else if (value == "apple") { return "apple"; } else { // Return null can solve the error return null; } };
Summary
The error not all code paths return a value in Typescript has been solved. In many cases, It would help if you throw an error, so the calling code can handle the error and continue with other operations. We hope you like it. Good luck to you!

Carolyn Hise has three years of software development expertise. Strong familiarity with the following languages is required: Python, Typescript/Nodejs, .Net, Java, C++, and a strong foundation in Object-oriented programming (OOP).