Syntax errors are mistakes in the source code, such as misspelling of an instruction mnemonic or failure to declare a label before using it in the program.

You are watching: Syntax errors are caught only when a program executes

From: PIC Microcontrollers (Third Edition), 2011

Related terms:

Stormy Attaway, in MATLAB (Fifth Edition), 2019

6.5.1 Types of Errors

There are several different kinds of errors that can occur in a program, which fall into the categories of syntax errors, runtime errors, and logical errors.

Syntax errors are mistakes in using the language. Examples of syntax errors are missing a comma or a quotation mark, or misspelling a word. MATLAB itself will flag syntax errors and give an error message. For example, the following character vector is missing the end quote:

mystr = 'how are you;


Error: Character vector is not terminated properly.

Another common mistake is to spell a variable name incorrectly; MATLAB will also catch this error. Newer versions of MATLAB will typically be able to correct this for you, as in the following:

Unrecognized function or variable 'valu'.

Did you mean:

Runtime, or execution-time, errors are found when a script or function is executing. With most languages, an example of a runtime error would be attempting to divide by zero. However, in MATLAB, this will return the constant Inf. Another example would be attempting to refer to an element in an array that does not exist.


The previous script initializes a vector with three elements, but then attempts to refer to a fourth. Running it prints the three elements in the vector, and then an error message is generated when it attempts to refer to the fourth element.


MATLAB gives an explanation of the error, and it gives the line number in the script in which the error occurred.

Logical errors are more difficult to locate because they do not result in any error message. A logical error is a mistake in reasoning by the programmer, but it is not a mistake in the programming language. An example of a logical error would be dividing by 2.54 instead of multiplying to convert inches to centimeters. The results printed or returned would be incorrect, but this might not be obvious.

All programs should be robust and should, wherever possible, anticipate potential errors and guard against them. For example, whenever there is input into a program, the program should error-check and make sure that the input is in the correct range of values. Also, before dividing, any denominator should be checked to make sure that it is not zero.

Despite the best precautions, there are bound to be errors in programs.

View chapterPurchase book
Read full chapter

Errors and Pitfalls

Brian H. Hahn, Daniel T. Valentine, in Essential MATLAB for Engineers and Scientists (Sixth Edition), 2017

11.1 Syntax errors

Syntax errors are typing errors in MATLAB statements (e.g., plog instead of plot). They are the most frequent type of error, and are fatal: MATLAB stops execution and displays an error message. As MATLAB evolves from one version to the next, error messages improve. Try the following examples to examine the latest error messages:

2*(1+3 disp(<'the answer is ' num2str(2)>

There are many possible syntax errors—you will probably have discovered a few yourself. With experience you will become more adept at spotting your mistakes.

The function lasterr returns the last error message generated.

11.1.1 Incompatible vector sizes

Consider the following statements:

x = 0:pi/20:3*pi;y = sin(x);x = 0:pi/40:3*pi;plot(x,y)

You'll get the error message

because you forgot to recalculate y after reducing the x increments. whos reveals the problem:

x 1x121 ...y 1x61 ...

11.1.2 Name hiding

Recall that a workspace variable ‘hides’ a script or function of the same name. The only way to access such a script or function is to clear the offending variable from the workspace.

Furthermore, a MATLAB function hides a script of the same name, e.g., create a script called why.m that displays some junk message, and then type why at the command line.

If you are worried that a variable or script which you are thinking of creating, say blob, may be a MATLAB function, try help blob first.

View chapterPurchase book
Read full chapter

PIC16 C Applications and Systems

Martin P. Bates, in Programming 8-bit PIC Microcontrollers in C, 2008

Application Debugging and Testing

The application program is tested and debugged in several stages. The main types of errors and the tools for detecting them are outlined next.

Syntax errors are mistakes in the source code, such as spelling and punctuation errors, incorrect labels, and so on, which cause an error message to be generated by the compiler. These appear in a separate error window, with the error type and line number indicated so that it can be corrected in the edit window.

When the program is successfully compiled, it can be tested for correct function in the target hardware so that any logical errors can be identified. However, it is preferable to test it in software simulation mode first, as it is quicker and easier to identify errors in the program sequence. Two simulation methods are available here, MPSIM and Proteus VSM.

MPSIM is the simulator provided with MPLAB. It allows the program source code to be run, stopped and stepped, and breakpoints set. The registers and source variables may be inspected at each step. When debugging C programs, breakpoints are the most useful, while stepping is more useful in assembly language. The program sequence and variable values are monitored and errors identified when the results obtained do not agree with those expected. Error information is provided principally in tabular form.

By comparison, the Proteus VSM debugging environment has significant advantages. The animated schematic gives a much more immediate indication of the overall program function. Interactive input and output devices operate in real or simulated time. The source code and breakpoints can be displayed.

In addition, if the VSM viewer is run from within MPLAB, the progress of the program can also be monitored simultaneously in MPSIM. Therefore, the more detailed debugging tools in MPSIM can be run alongside VSM and the most appropriate selected for any debugging task. The simulated hardware design is thus tested in conjunction with the MCU firmware (cosimulation), allowing circuit modifications at an early stage and hardware-software interaction to be studied on screen. When the program is eventually downloaded to the real hardware, it is now far more likely that it will work the first time.

The VSM Viewer is invoked from the debug tools menu in MPLAB, and the program is attached and tested. However, if circuit modifications are needed, VSM must be opened separately to run alongside MPLAB, so that the full set of ISIS schematic edit tools and component models are available. VSM still accesses the same COF file, so both software and hardware changes can be tested. More details on interactive debugging are given in Appendices A, B, and CAppendix AAppendix BAppendix C.

Andrew P. King, Paul Aljabar, in MATLAB Programming for Biomedical Engineers and Scientists, 2017

4.4 Debugging a Function

The basics of the MATLAB debugger were described in Section 1.12. Here, we consider some of the types of errors that the debugger can be used to help identify and fix.

When writing a program or function that is non-trivial, the chances of it working perfectly first time are quite low, even for a skilled MATLAB user. Debugging tools are there to help identify why a program does not work correctly or as expected.

When debugging, we need to work systematically and run our program with various sets of test data to find errors and correct them when we find them. If we work incrementally as we did in Example 4.1 above, then the repeated nature of the testing allows errors to be caught earlier, which reduces the chance of later errors occurring or minimizes their severity.

There are three main types of error that a function or program can contain:

Syntax errors.

Run-time errors.

Logic errors.

The term ‘syntax’ relates to the grammar of the programming language. Each language has a specific set of rules for how commands can be written in that language and these rules are collectively known as the language's syntax.

When a line in a MATLAB function contains a syntax error, the built-in Code Analyzer (see Section 1.12.2) should highlight in red the corresponding line of code. Hovering the mouse over the line should result in a message being displayed to the user that describes what MATLAB has decided is the particular syntax error in the line. In other words, MATLAB can detect an error with the script or function before it is run.

See more: Kat Dennings And Beth Behrs Nude Sex Outtake From 2 Broke Girls Nude

If the following code is entered into a script, say my_ script.m, using the editor, then the line containing the

statement should be highlighted in red to indicate a problem with the syntax.