Током фазе семантичке анализе појављује се ова врста грешке. Ове врсте грешака се откривају у време компајлирања.
Већина грешака у времену компајлирања су грешке у опсегу и декларацији. На пример: недекларисани или вишеструки декларисани идентификатори. Тип неусклађен је још једна грешка у времену компајлирања.
Семантичка грешка може настати коришћењем погрешне променљиве или коришћењем погрешног оператора или извођењем операције погрешним редоследом.
Неке семантичке грешке могу бити:
- Некомпатибилни типови операнда
- Недекларисана променљива
- Непоклапање стварног аргумента са формалним аргументом
Пример 1: Употреба неиницијализоване променљиве:
карактеристике серије панда
int i; void f (int m) { m=t; }
У овом коду, т је недекларисан и зато показује семантичку грешку.
Пример 2: Некомпатибилност типа:
int a = 'hello'; // the types String and int are not compatible
Пример 3: Грешке у изразима:
String s = '...'; int a = 5 - s; // the - operator does not support arguments of type String