Разница между StandardError и Exception в Ruby заключается в том, что StandardError — это базовый класс для стандартных ошибок выполнения, а Exception — базовый класс для всех исключений. 14
При создании собственных исключений в Ruby их всегда следует наследовать от StandardError, а не от Exception. 24 Это связано с тем, что исключения StandardError предназначены для обработки, а исключения Exception — нет. 4
Таким образом, StandardError охватывает стандартные ошибки выполнения, а Exception — все исключения в целом. 14
Кроме того, при обработке исключений по умолчанию обрабатываются экземпляры StandardError и его производных. 1 Если не указывать класс исключения, Ruby предполагает, что имелся в виду StandardError. 2