Right, but in the context of the OP's question you'd need the second .then() to mirror what .always() is doing.
The point is, there is no way to do .catch().then() and throw the error unless you do some hideous type checking hack cludge. Hence the need for .always().