I would argue that this is pretty unreadable. Why do obfuscate your code to save one LOC?
if ( !method_returns_rc( args ) ) { //error handle }
This isn't great, as I believe its not good to put methods with side effects in if statements (may be wrong here, or maybe its just me), but generally thats how its done (not to say that there aren't freaking GOTOs in our code... so take that with a grain of salt.)