If `reorderJobFiles()` or `reorderJobFilesWithComasters()` fail then they throw a RuntimeException which is an unchecked exceptions and doesn't need a `throws` clause.  The exception has a message and they do get logged.  RuntimeExceptions get handled by the ExceptionController.

Since this route produces JSON, if you prefer we could make a new exception class (similar to our `RecordNotFoundException`, etc) that's handled separately.  We could call it `JSONException` which produces a JSON error response?

H