How should the error be handled? Should we throw it or ```defer.reject(err)```
```
} catch (e) {
  // do something?
}
```