The problem if bitcoind returns an error is that we only get to know error 500, but not the actual error message.