From QB64 Wiki
Jump to navigation Jump to search

RETURN is used in GOSUB procedures to return to the original call code line or a specified line label.


RETURN [{linelabel|linenumber}]


  • RETURN without parameters returns to the code immediately following the original GOSUB call.
  • line number or linelabel after the RETURN statement returns code execution to that label.


  • Normally required at the end of a GOSUB procedure unless the procedure returns using a loop.
  • RETURN is not used in error handling procedures. Error procedures use RESUME line number or RESUME NEXT.
  • GOSUB procedures use line numbers or line labels designated with a colon after the number or label.
  • If RETURN is encountered without a previous GOSUB call a "RETURN without GOSUB" error is produced.
  • To avoid errors, place GOSUB procedures AFTER the main program code END or after an EXIT SUB or EXIT FUNCTION call.

Example 1: Returns after a Gosub.

FOR a = 1 TO 10 PRINT a IF a = 5 THEN GOSUB five NEXT END 'END or SYSTEM stop the program before the execution of a sub procedure five: PRINT "Aha! Five!" RETURN

1 2 3 4 5 Aha! Five! 6 7 8 9 10

Example 2: Returns to a specific line label.

GOSUB hey PRINT "it didn't go here." hoho: PRINT "it went here." END hey: RETURN hoho

Code by Cyperium

it went here.

See also:

Keyword Reference - Alphabetical
Keyword Reference - By Usage
Main Wiki Page