What are Errors?
Errors represent exceptional conditions or failures in program execution. They occur when the program encounters a state it cannot handle or when operations cannot complete successfully.
Why Errors Exist
- Programs interface with external reality (I/O, network, user input)
- Hardware has limits (memory, disk space)
- User behavior is unpredictable
- System state can change between operations
Categories of Errors
Syntax Errors
Caught at compile-time or during parsing.
- Typos in keywords or variable names
- Missing brackets, parentheses, or semicolons
- Invalid language constructs
# Example: Missing closing parenthesis
print("Hello" # Syntax error
Runtime Errors
Occcur during program execution.
- Division by zero
- Null/nil pointer dereference
- Index out of bounds
- Stack overflow
# Example: Division by zero
result = 10 / 0 # Runtime error
Logic Errors
Program runs but produces incorrect results.
- Algorithm bugs
- Wrong conditional logic
- Off-by-one errors
# Example: Logic error - should be < not <=
for i in range(len(items)):
if i <= len(items): # Always true, will process one too many
process(items[i])
I/O Errors
External system failures beyond program control.
- File not found
- Network timeout
- Permission denied
- Database connection lost
See Also
- Programming languages/Go/Errors for Go's explicit error handling approach
- Exception handling syntax by language