Можно ли создать подкласс исключения для создания этого более описательным, но как необходимо установить 'сообщение' по умолчанию?
class MyError < StandardError
# default message = "You've triggered a MyError"
end
begin
raise MyError, "A custom message"
rescue Exception => e
p e.message
end
begin
raise MyError
raise Exception => e
p e.message
end
Первое должно произвести 'Пользовательское сообщение'
Второе должно произвести, 'Вы инициировали MyError'
Какие-либо предложения относительно лучшей практики?
Определите метод инициализации, который принимает сообщение в качестве аргумента со значением по умолчанию. Затем вызовите метод инициализации StandardError
с этим сообщением (используя super
).
class MyError < StandardError
def initialize(msg = "You've triggered a MyError")
super(msg)
end
end