What is the difference between compile-time errors and runtime errors?

Before we can run our program on a computer, a compiler translates our human-readable code into machine language - a long string of 0s and 1s. When the code is being compiled, the compiler looks for syntax errors in the code - you can think of it like proofreading.

For example, if the compiler comes across a mispelled word or misused function in your code, it will throw a compile-time error and your code will not even be translated into machine language. Imagine you write 'fro' instead of 'for' or you try to apply the length() function to an integer. These are things that the compiler does not know how to read and therefore it will throw an error.

Runtime errors are different, they are caused after your code has been compiled and is running, by wrong logic or wrong input of data such as division by 0. For example, if you have the following code:

int i = 17;

int[] a = new int[5];

a[i] = 20;

this will give you a runtime error because you are trying to access an element of the array that is out of bounds.

TG

Related Computing A Level answers

All answers ▸

Calculate -3 + 3 using Two's Complement and the Sign and Magnitude Method. Which works correctly?


What are the main differences between different loops when it comes to coding ?


Describe an advantage of using vector graphics instead of bitmaps to represent images.


Write pseudocode for the linear search algorithm, and then explain it’s complexity using big-O notation