Łapanie wyjątków za pomocą servicestack

Od jakiegoś czasu używamy ServiceStack do usług opartych na REST i do tej pory było to niesamowite.

Wszystkie nasze usługi zostały napisane jako:

public class MyRestService : RestService<RestServiceDto>
{
   public override object OnGet(RestServiceDto request)
   {
   }
}

Dla każdego DTO mamy obiekt odpowiednika Response:

public class RestServiceDto 
{
    public ResponseStatus ResponseStatus {get;set;}
}

który obsługuje wszystkie wyjątki, jeśli zostaną rzucone.

Zauważyłem, że wyjątek jest rzucany wOnGet() lubOnPost() metody, a następnie opis statusu http zawiera nazwę klasy wyjątku, w której tak, jakbym rzucił:

new HttpError(HttpStatus.NotFound, "Some Message");

następnie opis statusu http zawiera tekst „Niektóre wiadomości”.

Ponieważ niektóre z pozostałych służb rzucają wyjątki, a inne rzucająnew HttpError(), Zastanawiałem się, czy istnieje sposób bez zmiany wszystkich moich usług REST, aby złapać jakieś wyjątki i rzucićnew HttpError()?

Na przykład, jeśliOnGet() metoda rzuca wyjątek, a następnie złap go i rzuć anew HttpError()?

questionAnswers(1)

yourAnswerToTheQuestion