Obsługa błędów w api

Cześć,
tak się zastanawiam, czy przechwytywanie błędów w api można zrobić tylko poprzez rescue_from, np.

rescue_from ActiveRecord::RecordInvalid do |e| render json: e.record.errors end
Oczywiście tych wyjątków było by sporo więcej.

Wtedy klasy odpowiedzialne za budowanie odpowiedzi rzucały by odpowiednie wyjątki, a kontrollery by tylko przekazywały parametry i w ich testach bym tylko sprawdzał czy odpowiednie metody z odpowiednimi argumentami zostały wywołane. Testy wyjątków były by osobno. Co o tym sądzicie? Na pierwszy rzut oka wygląda ok, ale?

Też ostatnio zacząłem coś takiego wdrażać. Podejście wydaje mi się dobre, bo jednak API raczej wymaga spójnej obsługi wszelkiego rodzaju błędów. Tak jak wspomniałeś, testowanie takiego rozwiązania też jest wygodne.