Play использует исключения для управления потоком - вместо того, чтобы ваши методы возвращали что-то похожее на модель, все они генерируют исключения.Это непроверенные исключения (например, NullPointerException и т. Д.), Означающие, что вам не нужно выражение throws
для сигнатуры вашего метода.
Многие люди боятся того, что Play создает такие исключения, ноэто на самом деле очень быстро.Это по двум причинам
- Выдача исключений Java намного быстрее, чем это было
- , если вы посмотрите на родительский класс (классы)
RenderJson
, вы увидите, чтометод с именем fillInStackTrace()
(по крайней мере, я так думаю) был переопределен, чтобы ничего не делать - создание подробной трассировки стека, которую вы получаете, когда что-то идет не так, занимает много времени, но обычно это нормально, потому что исключения обычно не являютсябросили все время.При использовании Play для управления потоком необходимо было удалить часть кода, генерирующую трассировку стека.