Skip to content

Unhandled Rejection in Twilio SDK When Catching Exceptions in Application #949

Closed
@mimu0

Description

@mimu0

Issue Summary

Twilio SDK has unhandled rejection in SDK and can't catch it from the application. This issue causes application termination.

Steps to Reproduce

  1. See the code snippet

Code Snippet

const client = require('twilio')(TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN);
const getMessages = async () => {
  try {
    const result =  await client.conversations.v1.services('SERVICE_SID').conversations('NOT_EXISTING_CONVERSATION_SID').messages.list();
    return result;
  } catch (e) {
    console.log('------catch from getMessages', e);
  }
};

process.on('unhandledRejection', (reason, promise) => {
  // this should not be called since we catch every exception
  console.log('------unhandledRejection', reason, promise);
});
process.on('rejectionHandled', (promise) => {
  console.log('------rejectionHandled', promise);

});

getMessages().then((messages) => {
  console.log('------messages', messages);
}).catch((e) => {
  console.log('------catch from caller', e);
});

Exception/Log

------catch from getMessages RestException [Error]: The requested resource /Services/ISe0ef118171da46b9bd8ef1d33c82349e/Conversations/CHc8c5b974343a4546bb022e511885b6f1/Messages was not found
    at MessagePage.processResponse (/Users/mimu/dev/summer-health/tmp/scripts/node_modules/twilio/lib/base/Page.js:135:19)
    at new Page (/Users/mimu/dev/summer-health/tmp/scripts/node_modules/twilio/lib/base/Page.js:17:28)
    at new MessagePage (/Users/mimu/dev/summer-health/tmp/scripts/node_modules/twilio/lib/rest/conversations/v1/service/conversation/message.js:315:9)
    at /Users/mimu/dev/summer-health/tmp/scripts/node_modules/twilio/lib/rest/conversations/v1/service/conversation/message.js:282:63
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  status: 404,
  code: 20404,
  moreInfo: 'https://www.twilio.com/docs/errors/20404',
  details: undefined
}
------messages undefined
------unhandledRejection RestException [Error]: The requested resource /Services/ISe0ef118171da46b9bd8ef1d33c82349e/Conversations/CHc8c5b974343a4546bb022e511885b6f1/Messages was not found
    at MessagePage.processResponse (/Users/mimu/dev/summer-health/tmp/scripts/node_modules/twilio/lib/base/Page.js:135:19)
    at new Page (/Users/mimu/dev/summer-health/tmp/scripts/node_modules/twilio/lib/base/Page.js:17:28)
    at new MessagePage (/Users/mimu/dev/summer-health/tmp/scripts/node_modules/twilio/lib/rest/conversations/v1/service/conversation/message.js:315:9)
    at /Users/mimu/dev/summer-health/tmp/scripts/node_modules/twilio/lib/rest/conversations/v1/service/conversation/message.js:282:63
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  status: 404,
  code: 20404,
  moreInfo: 'https://www.twilio.com/docs/errors/20404',
  details: undefined
} Promise {
  <rejected> RestException [Error]: The requested resource /Services/ISe0ef118171da46b9bd8ef1d33c82349e/Conversations/CHc8c5b974343a4546bb022e511885b6f1/Messages was not found
      at MessagePage.processResponse (/Users/mimu/dev/summer-health/tmp/scripts/node_modules/twilio/lib/base/Page.js:135:19)
      at new Page (/Users/mimu/dev/summer-health/tmp/scripts/node_modules/twilio/lib/base/Page.js:17:28)
      at new MessagePage (/Users/mimu/dev/summer-health/tmp/scripts/node_modules/twilio/lib/rest/conversations/v1/service/conversation/message.js:315:9)
      at /Users/mimu/dev/summer-health/tmp/scripts/node_modules/twilio/lib/rest/conversations/v1/service/conversation/message.js:282:63
      at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
    status: 404,
    code: 20404,
    moreInfo: 'https://www.twilio.com/docs/errors/20404',
    details: undefined
  }
}

Technical details:

  • twilio-node version: 4.14.0
  • node version: 18.14.1

Metadata

Metadata

Assignees

Labels

status: work in progressTwilio or the community is in the process of implementingtype: bugbug in the library

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions