When we were working on the DDL story, we found that some methods were returning the internal_server_error json, but the code that called those methods was not expecting that type of object. So, instead of returning that json to the user, the code would try to treat the json as a different type of object which often resulted in a different internal server error than the one that was intended.
We decided to raise the error instead so that there would be no risk of the code interacting with the error object in an unexpected way, since it will raise up and skip over that code. Then, we added a handler for the error which returns the same type of internal_server_error which was intended originally. This ensures that the user sees the proper error messages.
Tira & Joao