A menudo tengo que lanzar un error personalizado (ized). Como cuando no se puede encontrar un recurso debido a una falta de coincidencia en los parámetros más o menos.Obtener una lista de clases de errores de Rails existentes para reutilizar/herencia
Prefiero arrojar errores existentes o, lanzar un error heredado de un error existente. De esta forma, no introduzco las clases de error que ya estaban definidas y que podrían haberse utilizado perfectamente (DRY). Pero también permite mantener la redacción y el estilo de la misma, al heredar y simplemente cambiar una o dos palabras para aclarar la diferencia con el error original.
Por ejemplo:
Foo.new
Foo.some_external_id = nil
Foo.fetch_external_resource
# => InvalidOptions: Calling Foo#fetch_external_resource with nil is invalid
Estoy seguro de este tipo de errores ya están definidos. De hecho, después de leer muchas líneas de código, encontré que mi controlador MongoID tiene Mongoid::Errors::InvalidOptions: Calling Document#find with nil is invalid
.
¿Hay una lista de clases de error disponibles en Ruby Core y Ruby on Rails? ¿Hay alguna manera de obtener una lista para su proyecto actual?
¿Es inteligente reutilizar y/o heredar errores existentes, o debería mantener mi propio conjunto personalizado?
Puede que no sea exhaustivo, pero es suficiente para mí, por ahora. Muchas gracias. Y gracias por el enlace a la lista. – berkes