pipedrive / client-nodejs

Pipedrive API client for NodeJS
MIT License
207 stars 81 forks source link

Throwing errors and good practices #502

Closed fpirsch closed 6 months ago

fpirsch commented 11 months ago

The lib throws custom objects instead of Error objects, so we don't have the stack trace and logging can't be standardized. It is considered good practice to throw only instances of the Error class or its subclasses.

https://eslint.org/docs/latest/rules/no-throw-literal https://rules.sonarsource.com/typescript/RSPEC-3696/

Custom exceptions should extend the native Error function.

youssef-saber-3 commented 10 months ago

Hey , we've updated error handling in the next beta version of the sdk ,as well as adding typescript support in this version. you can follow the guide here for setup and feel free to give feedback or report any issues you run into

fpirsch commented 10 months ago

22.3.1-rc3 still throws intances of custom Exception classes, not native Errors

Reivilo85k commented 8 months ago

Hi @fpirsch, could you give us some examples of such errors please ?

fpirsch commented 8 months ago

Hi @Reivilo85k I was referring to FailResponseException.js, NotFoundException.js, OAuthProviderException.js, UnauthorizedException.js

Reivilo85k commented 6 months ago

Hi @fpirsch ,

Thank you for your feedback. After careful consideration, we've decided to retain our current approach to custom exceptions as it aligns with our design goals. We appreciate your understanding and continued support.