0
на данный момент у меня есть блок какКак перегруппировать все спасения начального блока и тип коммутатора позже?
begin
yield
rescue MyError => e
call_specific_method
call_method_foo
render json: { error: e.to_s }
rescue ActiveRecord::RecordInvalid => e
call_specific_method
call_method_foo
render json: { error: e.to_s }
rescue => e
call_specific_method
call_method_foo
render json: { error: e.to_s }
end
поэтому у меня есть много дублирующих инструкции, потому что они похожи на каждое исключение:
call_method_foo
render json: { error: e.to_s }
, но у меня тоже есть конкретные инструкции:
call_specific_method
Мне нужно сделать что-то вроде:
begin
yield
rescue => e
if e.type == ActiveRecord::RecordInvalid
call_specific_method
elsif e.type == MyError
call_specific_method
else
call_specific_method
end
call_method_foo
render json: { error: e.to_s }
end
Итак, как я могу проверить тип исключения в одиночном спасении?
почему это лучше экстракт общего код, а не конкретный код? – Matrix
Я предполагал, что каждый '' call_specific_method'' отличается для каждого класса исключений, не так ли? – dgilperez
Да, нормально, на самом деле список спасения, такой же, как и мой, так что это нормально, thx. – Matrix