Bug 1109889 - Share more exception handling code. r=nbp, a=2.0+