Как `@RestControllerAdvice` с `@ExceptionHandler` централизует обработку ошибок и как выбирается правильный обработчик, когда несколько могут соответствовать выброшенному исключению?
@RestControllerAdvice применяется глобально ко всем контроллерам без попытки/перехвата для каждого контроллера. Когда несколько методов @ExceptionHandler могут соответствовать иерархии типов выброшенного исключения, побеждает наиболее конкретный соответствующий тип, независимо от порядка объявления в классе.