Это просто определение определенных c исключений, которые, предположительно, могут использоваться внутри кода где-то еще, например:
raise AException, "Something went wrong!"
Это означает, что вы можете rescue
те, что позже:
begin
do_stuff!
rescue AException => e
puts "Uh oh, AException went off! Those are super bad!"
puts e # The message supplied in the raise call
end
Причина CommonError
заключается в том, чтобы выступать в качестве базового класса для всех остальных исключений. Аргументом rescue
на самом деле является не указанный c класс, а класс и все подклассы , поэтому, если вы rescue CommonError
получите все эти и, возможно, другие, определенные в другом месте.