Today, I want to write a short post describing the broad categories of error types…
Runtime Error
Error revealed only at runtime, such as an end user entering invalid information. Additionally, there could be issues with program incompatibility, memory issues, etc. Testing is extremely important for this error, especially if you program could be broken by an end user. Trust me…if it can be broken by an end user, they will find a way to do it.
Logic Error
Error cause by bad logic. Your code was supposed to do one thing, but it is actually built to do something else. Functioning as designed, but not as desired. This is when you go back to the drawing board. Ideally, you avoid these issues by performing your due diligence with planning lists, test plans (TDD), flowcharting and diagramming.
Syntax Error
Error resulting from violation of code rules, missing braces, missing plus signs, etc. The good news is that even though these errors are sometimes the proverbial needles in the haystack, they are typically the easiest to fix. Linters have really helped with this category (JSHint).
Understanding the basic error categories can help you diminish the number of errors and bugs introduced into your code.
Happy Coding!
Clay Hess