|Navigation: Language Reference > App D - Error Codes > Compiler Errors >====== Compiler Errors ======
The compiler generates an error message at exactly the point in the source code where it determines that something has gone wrong. Therefore, the problem is always either right at that point, or somewhere in the code preceding that point. For most error messages, the problem exists right at the point at which it is detected, but some error messages are typically generated by problems that far precede their detection by the compiler, making some “detective work” necessary, along with an understanding of what the compiler is trying to tell you in the error message itself.
Deciphering compiler error messages to determine exactly what syntax error needs to be corrected can be a bit of an arcane science. The major reason for this is that a single (relatively minor) error can create a “cascade effect;” a long list of error messages that all have one root cause. This is typically the case in the situation where there are a very large number of compiler errors reported in the same source module. To handle this, you should correct just the first error reported then re-compile to see how many errors are left (quite often, none). If you have just a couple of errors reported that are widely separated in the source code, it is likely that each is a discrete error and you should correct them all before re-compiling.