Lỗi runtime là lỗi logic, khi chạy mới thấy. Lỗi compile time là lỗi cú pháp, khi biên dịch là thấy ngay
Nguồn:: câu hỏi thắc mắc về run time , compile time và translation time - programming - Dạy Nhau Học

Vì lỗi compile time là lỗi cú pháp, và vì language server giúp bắt lỗi cú pháp, nên nó khiến cho code editor trở thành IDE mà không cần có compiler
Can all compiler errors be caught by language server?
One example is an assignment to a variable where the expression is a symbol. When that symbol is the name of a variable of the correct type, then that’s fine. If the symbol is something that doesn’t result in an expression or an expression of the wrong type (depending on language), then it’s a compile-time error. However, it is still syntactically correct.