Delhi Capitals' David Warner was caught just one run shy of his half century as Rajasthan Royals won by 12 runs in the IPL.