Try catch around fn calls and return a promise rejection if error.