0
0
RubyConceptBeginner · 3 min read

What is StandardError in Ruby: Explanation and Examples

StandardError in Ruby is the default class for most common errors that programs can rescue from. It acts as a base class for typical runtime errors, making it easier to handle exceptions without catching all possible errors.
⚙️

How It Works

Think of StandardError as a safety net for your Ruby program. When something goes wrong during the program's execution, Ruby raises an error. Most of these errors, like trying to divide by zero or calling a method on a wrong object, are subclasses of StandardError.

This means when you write code to catch errors, rescuing StandardError will catch most common mistakes without stopping your program abruptly. It's like catching a ball thrown at you instead of letting it hit the ground.

However, some errors are more serious and are not subclasses of StandardError. These include system-level errors like syntax errors or interrupts, which Ruby does not catch by default when rescuing StandardError.

💻

Example

This example shows how rescuing StandardError catches a common error like division by zero.

ruby
begin
  result = 10 / 0
rescue StandardError => e
  puts "Caught an error: #{e.message}"
end
Output
Caught an error: divided by 0
🎯

When to Use

Use StandardError when you want to handle typical runtime errors gracefully without stopping your program. For example, when reading user input, working with files, or performing calculations, rescuing StandardError helps you manage unexpected problems like missing files or invalid data.

Avoid rescuing all errors blindly, as some errors like SystemExit or NoMemoryError should usually not be caught because they indicate serious issues.

Key Points

  • StandardError is the default base class for most Ruby exceptions.
  • Rescuing StandardError catches common runtime errors.
  • It excludes serious system errors that should not be rescued.
  • Helps keep programs running smoothly by handling expected problems.

Key Takeaways

StandardError is the main class for common Ruby errors you can rescue.
Rescuing StandardError helps handle typical runtime problems safely.
It excludes critical system errors that Ruby does not catch by default.
Use it to keep your program running smoothly during expected errors.