Sentry-javascript: рдиреЛрдб рд╕реБрдЭрд╛рд╡: `unhandledRejection` . рдореЗрдВ рд▓реЙрдЧ рддреНрд░реБрдЯрд┐рдпрд╛рдБ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 19 рдлрд╝рд░ре░ 2019  ┬╖  41рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: getsentry/sentry-javascript

  • [x] рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВ: https://docs.sentry.io/
  • [x] рдореМрдЬреВрджрд╛ рдореБрджреНрджреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░реЗрдВ :
  • [x] рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: https://github.com/getsentry/sentry-javascript/releases

рдкреИрдХреЗрдЬ + рд╕рдВрд╕реНрдХрд░рдг

  • [ ] @sentry/browser
  • [рдПрдХреНрд╕] @sentry/node
  • [ ] raven-js
  • [ ] raven-node _(рдиреЛрдб рдХреЗ рд▓рд┐рдП рд░реЗрд╡реЗрди)_
  • [ ] рдЕрдиреНрдп:

рд╕рдВрд╕реНрдХрд░рдг:

4.6.1

рд╡рд┐рд╡рд░рдг

рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░, рдиреЛрдб рд╣реИрдВрдбрд▓ рди рдХрд┐рдП рдЧрдП рд╡рд╛рджреЗ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджреЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рдВрддрд░реА рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпреЗ рд▓реЙрдЧ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ unhandledRejection рд╣реИрдВрдбрд▓рд░ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдкрд░

рдореИрдВ рдпрд╣ рд╕реБрдЭрд╛рд╡ рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рд╕рдВрддрд░реА рдмреЙрдХреНрд╕ рдХреЗ рдмрд╛рд╣рд░ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдЕрдиреБрднрд╡ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рд▓реЙрдЧрд┐рдВрдЧ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдХрдо рд╕реЗ рдХрдо, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдФрд░ рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореБрдЭреЗ рдЕрднреА рднреА рдпрд╣ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ uncaughtException рдФрд░ unhandledRejection рдХреЛ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрддрд░реА uncaughtException рд▓рд┐рдП рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИтАФрдпрд╣ unhandledRejection рд▓рд┐рдП рдРрд╕рд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрд╕ рдиреЛрдб рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдж рдирд╣реАрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ

рд╕рднреА 41 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ debug: true рдзреНрд╡рдЬ рдХреЗ рдкреАрдЫреЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдВрдд рдореЗрдВ, рдЖрдк рдЬрд╛рдирдмреВрдЭрдХрд░ рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд░ рд╕рдВрд▓рдЧреНрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рддреНрд░реБрдЯрд┐ рд╕реНрдЯреНрд░реАрдо рдХреЛ рд╕рдВрддрд░реА рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рднреА рдпрдХреАрди рдирд╣реАрдВ рд╣реИред

рд╕рдВрддрд░реА рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рд╕реЗ рдЕрдирдХреИрдкреНрдб рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЕрдирд╣реЗрд▓реНрдб рд╡рд╛рджреЛрдВ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдпрд╣реА рд╕рдЪ рд╣реЛред (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдпрд╣ рдЕрдВрддрд░ рд╕рдВрддрд░реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдиреЛрдб рдореЗрдВ рдЕрдзрд┐рдХ рдЕрд╕рдВрдЧрддрд┐ рд╣реИред)

рдЬрдм рдореИрдВ рд╕реЗрдВрдЯреНрд░реА рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдореЗрд░реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдХрдВрд╕реЛрд▓ рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдЪреАрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЛрдЪрддрд╛ рд╣реВрдВ, рдЦрд╛рд╕рдХрд░ рджреЗрд╡ рдореЗрдВред рдореИрдВ

рд╣рдо рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд▓реЙрдЧрд┐рдВрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдкрд╡рд╛рдж рдХреЗ рдпрд╣ рдиреЛрдб рд╣реА рд╣реИ рдЬреЛ рд▓реЙрдЧ рдХреЙрд▓ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЙрдХреНрд╕ рдореЗрдВ рдиреЛрдЯ рдХрд░ рд▓реЗрдВ рдФрд░ рдЫреЛрдбрд╝ рджреЗрдВ

process.on('unhandledRejection', (reason, p) => {
  console.log('Unhandled Rejection at:', p, 'reason:', reason);
});

рдпрджрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рддреЛ рдЙрд╕реЗ рд╕реНрдирд┐рдкреЗрдЯ рдХрд░реЗрдВред

рдбреЙрдХреНрд╕ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдВрдЧреЗред рдХрдо рд╕реЗ рдХрдо рддрдм рд╕рдВрддрд░реА рдХреБрдЫ рдЦрд╛рд╕ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдиреЛрдб рд╣реИ рдХрд┐ рдпрд╣рд╛рдБ рд╕рдорд╕реНрдпрд╛ рд╣реИред

рд╣реЛ рдЧрдпрд╛ https://github.com/getsentry/sentry-docs/pull/785

рдпрд╛ рди рдЖрдпрд╛ рд╣реБрдЖ рдЕрдкрд╡рд╛рдж рдпрд╣ рд╕реНрд╡рдпрдВ рдиреЛрдб рд╣реИ рдЬреЛ рд▓реЙрдЧ рдХреЙрд▓ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░ рд░рд╣рд╛ рд╣реИред

рджреВрд╕рд░реЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдкрд░, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдЪ рд╣реИред

рд╕рдВрддрд░реА рдПрдХ uncaughtException рд╣реИрдВрдбрд▓рд░ рдкрдВрдЬреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдиреЛрдб рд╡реНрдпрд╡рд╣рд╛рд░ (рд▓реЙрдЧ + рдирд┐рдХрд╛рд╕) рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИред

рд╣реИрдВрдбрд▓рд░ ( defaultOnFatalError ) рдЕрдкрдирд╛ рд▓реЙрдЧ рдХреЙрд▓ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ: https://github.com/getsentry/sentry-javascript/blob/4.6.3/packages/node/src/handlers.ts#L282ред

рдЕрдЧрд░ рд╣рдо рдЕрдирдХреИрдкреНрдб рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ "рдмрд╣рд╛рд▓" рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЕрдирд╣реЗрд▓реНрдб рд╡рд╛рджреЛрдВ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдпрд╣реА рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ? рдореЗрд░реА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЕрдм рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╕рдВрддрд░реА рдХреЛ рдЕрдирд╣реЗрд▓реНрдб рд╡рд╛рджреЛрдВ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдЕрдирдХреИрдкреНрдб рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЗрд╕рд▓рд┐рдП рдорд┐рд▓реА рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕рдВрддрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рд╕реЛрдЪрддрд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдХреЛрдИ рдЧрд▓рддреА рдХреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рд▓реЙрдЧ рдореЗрдВ рдХреЗрд╡рд▓ uncaughtException рдерд╛ рди рдХрд┐ unhandledRejection ред рдЗрди рджреЛрдиреЛрдВ рдорд╛рдорд▓реЛрдВ рдХреЛ рдПрдХ рд╣реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред

рддреЛ рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╛ рддреЛ рджреЛрдиреЛрдВ рдХреЛ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ рдпрд╛ рди рд╣реА рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВред

рдореБрдЭреЗ рдиреЛрдб рдХреЗ рдХреЛрд░ рд╕реЗ рдХреЛрдб рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЗрд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рдПрдХ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рдорд┐рд▓рд╛ред

╬╗: node --unhandled-rejections=warn app.js

рдореБрдЦреНрдп рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреГрд╖реНрда https://github.com/getsentry/sentry-docs/pull/1099 рдкрд░ рд╢рд╛рдорд┐рд▓ рдХрд░рдХреЗ рдЗрд╕реЗ рднреА рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛

рдореБрдЭреЗ рдЕрднреА рднреА рдпрд╣ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ uncaughtException рдФрд░ unhandledRejection рдХреЛ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрддрд░реА uncaughtException рд▓рд┐рдП рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИтАФрдпрд╣ unhandledRejection рд▓рд┐рдП рдРрд╕рд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрд╕ рдиреЛрдб рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдж рдирд╣реАрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ

рдпрд╣ рдЕрдирдЪрд╛рд╣реЗ рдЕрд╕реНрд╡реАрдХреГрддрд┐ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ?

рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ ( unhandledException рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдорд╛рд░рддрд╛ рд╣реИ), рдФрд░ рдПрдХ рд╕реВрдЪрдирд╛рддреНрдордХ рд╣реИ (рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдпрд╣ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рд╣реИ, рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ)ред

рдпрджрд┐ рд╣рдо рдСрд░реНрдбрд░ рдХреЛ рдЙрд▓рдЯ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЪреЗрддрд╛рд╡рдиреА рджреЗрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо --unhandled-rejections рдХреЛ none рд╕реЗрдЯ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдЙрдиреНрд╣реЗрдВ рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдХрд░рдХреЗ CLI рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рддреЛрдбрд╝ рджреЗрдВрдЧреЗред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдиреЛрдб рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрднреА рд╕рдм рдХреБрдЫ рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдмрджрд▓рд╛рд╡ рдЗрд╕реЗ рдЧреИрд░-рдорд╛рдирдХ рдмрдирд╛ рджреЗрдЧрд╛ред

рдПрдХ рдмрд╛рд░ рдЬрдм рдиреЛрдб unhandledRejection рдмрдирд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реИ рддреЛ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рднреА рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ (рдЬрд┐рд╕реЗ рд╡реЗ рдЕрдм 4 рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╣рддреЗ рд╣реИрдВ: рдкреА), рд╣рдо рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдСрдирд▓рд╛рдЗрди рднреА рдХрд░реЗрдВрдЧреЗред

рдпрджрд┐ рд╣рдо рдЖрджреЗрд╢ рдХреЛ рдЙрд▓рдЯ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЪреЗрддрд╛рд╡рдиреА рджреЗрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо CLI рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рддреЛрдбрд╝ рджреЗрдВрдЧреЗ

@kamilogorek , рд▓реЗрдХрд┐рди node рд╕рд╛рде рдЪрд▓рдиреЗ рдкрд░ рдпрд╣ unhandledRejection рд╕реЗ console рд▓реЙрдЧ рдЗрди рдХрд░рддрд╛ рд╣реИред рддреЛ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдиреЛрдб рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреНрдпрд╛ рдХрд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдпрд╣реА рд╡рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдиреЛрдЯрд┐рд╕ рдХрд░рддрд╛ рд╣реВрдВред

@freeall рдХреЗрд╡рд▓ рдЕрдЧрд░ рдЖрдк unhandledRejection рд╣реИрдВрдбрд▓рд░ рд╕рдВрд▓рдЧреНрди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдПрд╕рдбреАрдХреЗ рдХреЗ рдмрд┐рдирд╛ рднреА рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЕрднреА рднреА рд▓реЙрдЧ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЖрдкрдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдк рдХреМрди рд╕рд╛ рдХреЛрдб рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВред

process.on('unhandledRejection', () => `┬п\_(уГД)_/┬п`);

рдФрд░ рд╣рдо рдпрд╣рд╛рдВ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ: https://docs.sentry.io/platforms/node/default-integrations/

рд╕рд┐рд╕реНрдЯрдо рдПрдХреАрдХрд░рдг рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рдПрдХреАрдХрд░рдг рд╣реИрдВ рдЬреЛ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдпрд╛ рд╕реНрд╡рдпрдВ рджреБрднрд╛рд╖рд┐рдпрд╛ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рд╡реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХреЗрдВ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрджрд┐ рд╡реЗ рд╕рдорд╕реНрдпрд╛рдПрдБ рдкреИрджрд╛ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЙрдиреНрд╣реЗрдВ рдЕрдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдСрдирдЕрдирд╣реИрдВрдбрд▓ рд░рд┐рдЬреЗрдХреНрд╢рди
рдпрд╣ рдПрдХреАрдХрд░рдг рд╡реИрд╢реНрд╡рд┐рдХ рдЕрдирд╣реЗрд▓реНрдб рд░рд┐рдЬреЗрдХреНрд╢рди рд╣реИрдВрдбрд▓рд░реНрд╕ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рдореИрдВ рдиреЛрдб рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛, рдмрд╕ред рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ: "рдпрджрд┐ рдХреЛрдИ рд╢реНрд░реЛрддрд╛ рд╣реИ, рддреЛ рдЙрддреНрд╕рд░реНрдЬрди рди рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рдЪреЗрддрд╛рд╡рдиреА рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред" - рдФрд░ рдареАрдХ рдпрд╣реА рд╣рдо рдХрд░рддреЗ рд╣реИрдВред

@kamilogorek рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдХрд╣рд╛рдВ рд╕реЗ рдЖ рд░рд╣реЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрддрд░реА рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдВрддрд░реА рд╕реЗ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╡рд╣ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдмрджрд▓рд╛рд╡ рди рдХрд░реЗред

рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдВрддрд░реА рдХреЗ рдмрд┐рдирд╛ unhandledRejection рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВред
рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдВрддрд░реА рдХреЗ рд╕рд╛рде unhandledRejection рддреЛ рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реВрдВред

рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдпрд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рдВрддрд░реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓ рджреЗред

рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ Node.js рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ _(уГД)_/┬п
рдпрджрд┐ рдЖрдк рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдЪреЗрддрд╛рд╡рдиреА рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИред рд╣рдорд╛рд░рд╛ рдПрд╕рдбреАрдХреЗ рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдирд╣реЗрд▓реНрдб рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХрд╛ рдпрд╣реА рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИ, рдЬреЛ рдПрд╕рдбреАрдХреЗ рдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рд╣реИред

рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рд╣реА рд╣реИрдВ рдХрд┐ рдиреЛрдб рдХреИрд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЬрдм рдЖрдк рдПрдХ рд╣реИрдВрдбрд▓рд░ рд╕рдВрд▓рдЧреНрди рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЪреЗрддрд╛рд╡рдиреА рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИред
рд▓реЛрдЧ рдХреНрдпрд╛ рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдиреЛрдб рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдирдХрд▓ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХрдВрд╕реЛрд▓ рдкрд░ рд▓реЙрдЧ рдХрд░рддреЗ рд╣реИрдВред рдмрджрд▓рд╛ рд╣реБрдЖ рд╡реНрдпрд╡рд╣рд╛рд░ рд╡рд╣ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХреА рдЖрдк рд╕рдВрддрд░реА рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рд╕реЗ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ

рд╡реИрд╕реЗ рднреА, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рд╕реЗрдЯ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рдЪрд░реНрдЪрд╛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж :)

@freeall рднреА рдзрдиреНрдпрд╡рд╛рдж, рджреЛрдиреЛрдВ рдкрдХреНрд╖реЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рд╣рдореЗрд╢рд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рд╣реИ :)

рдмрд╕ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: рд╕рдВрддрд░реА рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддреЗ рд╕рдордп, unhandledException (рдирд┐рдХрд╛рд╕ + рд▓реЙрдЧ) рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди unhandledRejection (рд▓реЙрдЧ) рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рд╣реИ:

|рд╣реИрдВрдбрд▓рд░|рд▓реЙрдЧ|рдирд┐рдХрд╛рд╕|
|-|-|-|
| unhandledException рдбрд┐рдлрд╝реЙрд▓реНрдЯ|рд╣рд╛рдБ|рд╣рд╛рдБ|
| unhandledException рд╕рдВрддрд░реА|рд╣рд╛рдБ|рд╣рд╛рдБ|
| unhandledRejection рдбрд┐рдлрд╝реЙрд▓реНрдЯ|рд╣рд╛рдБ|рдирд╣реАрдВ|
| unhandledRejection рд╕рдВрддрд░реА|рдирд╣реАрдВ|рдирд╣реАрдВ|

рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдиреЛрдб рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрднреА рд╕рдм рдХреБрдЫ рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

"рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ" рдпрд╣рд╛рдВ рдорд╛рдирд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрддрд░реА unhandledRejection рд▓рд┐рдП рд╢реНрд░реЛрддрд╛ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЖрдкрдХреА рдмрд╛рдд рджреЗрдЦрддрд╛ рд╣реВрдВред рд╕рдВрддрд░реА рдХреЛ рднреА --unhandled-rejections рд╕рдореНрдорд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдХрд┐ рдЕрдЧрд░ рдзреНрд╡рдЬ рдХреЛ none рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛрддрд╛ рдФрд░ рд╕рдВрддрд░реА рд▓реЙрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рддреЛ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ред

@freeall рдЯрд┐рдкреНрдкрдгреА рдЗрд╕реЗ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдмрддрд╛рддреА рд╣реИ:

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрддрд░реА рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдВрддрд░реА рд╕реЗ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╡рд╣ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдмрджрд▓рд╛рд╡ рди рдХрд░реЗред

рдзреНрдпрд╛рди рдореЗрдВ рди рдЖрдпрд╛ рд╡рд╛рджрд╛ рдЕрд╕реНрд╡реАрдХреГрддрд┐ рдХреЛрдИ "рджреНрд╡рд┐рддреАрдп рд╢реНрд░реЗрдгреА рддреНрд░реБрдЯрд┐" рдирд╣реАрдВ рд╣реИред рд╡реЗ рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рддрд░рд╣ рд╣реА рдРрдкреНрд╕ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ (рдореЗрд░реЗ рд╕рд╣рд┐рдд) рдореЗрдВ рдЪрд▓реЗ рдЧрдП рд╣реИрдВ, рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдФрд░ рднреА рдЗрд╕рдореЗрдВ рднрд╛рдЧ рд▓реЗрдВрдЧреЗред

рддреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рд╕рдВрддрд░реА рдХрдВрд╕реЛрд▓ рд╕реЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╢рд╛рдВрдд рдХрд░рддрд╛ рд╣реИред рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рдФрд░ рд╢рд╛рдпрдж рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдВрддрд░реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЗрд╕рдХрд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд╣реИред рд╡реЗ рдХрдВрд╕реЛрд▓ рд╕реЗ рдЦрд╛рдореЛрд╢ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХреБрдЫ рд╕рдмрд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рд╕рдВрддрд░реА рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рддреЛ рддрд░реНрдХ ( @kamilogorek рджреНрд╡рд╛рд░рд╛)

рдЗрд╕ рдкреНрд░рдХрд╛рд░ Node.js рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

рдореЗрд░реЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдЧреВрдврд╝ рд╣реИред рдпрд╣ рдХреИрд╕реЗ рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рдВрддрд░реА рдХреЛ рдХрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдХреНрдпрд╛ рд╣рдореЗрдВ рдЙрдореНрдореАрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗрдВ:

рдП) рд╕рдВрддрд░реА рдЖрдВрддрд░рд┐рдХ рдХрд╛рдордХрд╛рдЬ (рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдкрдВрдЬреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ)

рдмреА) рдиреЛрдб рдЖрдВрддрд░рд┐рдХ рдХрд╛рдордХрд╛рдЬ (рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ)

рдФрд░ рдЕрдЧрд░ рд╡реЗ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдмреЗрд╢рдХ рдЖрдк рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИрдВ "рдареАрдХ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреЛрдб рд╣реБрдб рдХреЗ рдиреАрдЪреЗ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ", рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдЕрд▓рдЧ рджрд┐рдЦрддреА рд╣реИред рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдпрд╣рд╛рдВ рд╕рдВрддрд░реА рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рдиреА рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИ, рдпрд╛ рдирд╣реАрдВред

рдпрд╣ рдХрд╣рдирд╛ рдареАрдХ рд╣реИ рдХрд┐ "рд╣рдореЗрдВ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдореБрджреНрджреЗ рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ", рд▓реЗрдХрд┐рди рдЗрд╕реЗ "рдпрд╣ рдПрдХ рдмрдЧ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ" рдореЗрдВ рдЪрд┐рддреНрд░рд┐рдд рдХрд░рдирд╛ рдПрдХ рддрд░рд╣ рд╕реЗ рдХрдкрдЯрдкреВрд░реНрдг рд▓рдЧрддрд╛ рд╣реИред

TLDR: IMOH рдпрджрд┐ рдЖрдк рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рдиреА рдмрдврд╝рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдХрдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

@OliverJAsh , @freeall
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдЖрдкрдиреЗ рдХрд┐рди рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛?

@schhumannd рдореИрдВрдиреЗ рдПрдХ рд╕реНрдирд┐рдкреЗрдЯ рдЬреЛрдбрд╝рд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдХреИрд╕реЗ рд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВред рдФрд░ рдореИрдВ рдЖрдкрд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ "рдпрд╣ рдПрдХ рдмрдЧ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ" рдЙрддреНрддрд░ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдореБрдЭреЗ рдбрд░ рд╣реИ рдХрд┐ рдХрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЕрдкрдиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдХреБрдЫ рдмрдЧ рдирд╣реАрдВ рдкрдХрдбрд╝реЗрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрддрд░реА рдЙрдиреНрд╣реЗрдВ рдЦрд╛ рдЬрд╛рддреЗ рд╣реИрдВред рдореЗрд░реЗ рд▓рд┐рдП, рд╕рдВрддрд░реА рдЬреИрд╕реЗ рдЯреВрд▓ рдХреА рдкрд╣рд▓реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдмрдЧ рдХреЛ рдкрдХрдбрд╝рдирд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдирд╛ред

...
if (isUsingSentry) {
  // Log to console because Sentry overwrites standard behavior. https://github.com/getsentry/sentry-javascript/issues/1909.
  // Note that it doesn't overwrite for uncaughtException.
  process.on('unhandledRejection', console.error)
}
...

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрд╢реА рдореЗрдВ рд╕рдВрддрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╣реИрдХреА рдЪреАрдЬреЗрдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдХреНрдпрд╛ рдХреЛрдИ рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╣рд▓ рдХрд░ рд░рд╣рд╛ рд╣реИ?

@OliverJAsh , @kamilogorek
рдХреНрдпрд╛ рд╣рдо рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдХрд░ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╕рдВрддрд░реА рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рдЧрдбрд╝рдмрдбрд╝ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХрдВрд╕реЛрд▓ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рд▓реЙрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдиреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрдВрд╕реЛрд▓ рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рднреА рджрдмрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЪреАрдЬреЛрдВ рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдмрд╣реБрдд рдХрд╖реНрдЯрдкреНрд░рдж рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЪреВрдВрдХрд┐ рдЖрдкрдиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХреА рдЬрд╣рдордд рдирд╣реАрдВ рдЙрдард╛рдИ, рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рдЧрд╛ рдХрд┐ рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рдмрд┐рд▓реНрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╕рдордп рдЬрдм рдореИрдВрдиреЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рджреЗрдЦрд╛ рддреЛ рдореБрдЭреЗ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдереА, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдПрд╣рд╕рд╛рд╕ рдирд╣реАрдВ рд╣реБрдЖ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдереАрдВ, рдЬрдм рддрдХ рдХрд┐ рдЗрд╕реЗ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рддреИрдирд╛рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рддреНрд░реБрдЯрд┐ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдЬреАрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрдк рдЦреБрд╢ рдЧреНрд░рд╛рд╣рдХ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рд╡рд╛рджрд╛ рдЕрд╕реНрд╡реАрдХреГрддрд┐ рджреВрд╕рд░реА рд╢реНрд░реЗрдгреА рдХреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реИрдВ - рд╡реЗ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рддреНрд░реБрдЯрд┐ рдХреА рддрд░рд╣ рд╣реА рдШрд╛рддрдХ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рджрдмрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рддреЛ, рдХреБрдЫ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХрдВрд╕реЛрд▓ рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рджрдмрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

image

рд╕рдВрддрд░реА window.onunhandledrejection рдХреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЕрд╕рд╛рдЗрди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдпрд╣рд╛рдВ рджреЗрдЦрддреЗ рд╣реИрдВ, рд╡рд╣ рдлрд╝рдВрдХреНрд╢рди false рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХрдВрд╕реЛрд▓ рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрдмрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреЛ рд╣рд╛рдБ, рд╕рдВрддрд░реА _does_ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдмрджрд▓реЗрдВ - рдпрд╣ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдХрд┐рд╕реА рднреА рдореМрдЬреВрджрд╛ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╕рдВрджрд░реНрдн рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдпрд╣ рдореМрдЬреВрдж рд╣реИред
рддреЛ, рдХрдВрд╕реЛрд▓ рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдХреА рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб, рд╕реЗрдВрдЯреНрд░реА рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реИ:

window.onunhandledrejection = () => true;

рдЕрдм, рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдареАрдХ рдХрд░реЗрдВ, рддрд╛рдХрд┐ рд╣рдо рдРрд╕реЗ рд╡реНрдпрд░реНрде рд╣реИрдХреНрд╕ рдХреЗ рдмрд┐рдирд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░ рд╕рдХреЗрдВ

@schhumannd рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВ

@ рдереЙрдорд╕-рдбрд╛рд░реНрд▓рд┐рдВрдЧ рдореИрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ, рдЗрд╕реЗ рд╡рд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рднреА true рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдореИрдВ рдЗрд╕реЗ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реВрдВред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдиреЛрдб рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЕрднреА рднреА рдПрдХ рдХрд╛рд░рдг рд╕реЗ рдЖрд╢реНрд╡рд╕реНрдд рдирд╣реАрдВ рд╣реВрдБред рдпрд╣ рдХреЛрдб рдХреЛ рд╡рд░реНрддрдорд╛рди рдиреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдЕрдЧрд░ рд╣рдо рдЭрдВрдбреЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЖрдВрддрд░рд┐рдХ рдХреА рдирдХрд▓ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рд╡рд╛рджрд╛ рдЕрд╕реНрд╡реАрдХреГрддрд┐ рд╡реНрдпрд╡рд╣рд╛рд░ v14 рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛, рддреЛ рд╣рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдо рдХрд┐рд╕ рдиреЛрдб рдореЗрдВ рд╣реИрдВ рдФрд░ рдЙрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╣рдо рд╢реНрд░реЛрддрд╛ рд╕реЗ рдХреНрдпрд╛ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдиреЛрдб рдХреЗрд╡рд▓ рд╢реНрд░реЛрддрд╛рдУрдВ рдХреА рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рддрднреА рдЪреЗрддрд╛рд╡рдиреА рджреЗрддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рд╢реНрд░реЛрддрд╛ рди рд╣реЛ, рдФрд░ рдЗрд╕ рдкрд╣рдЪрд╛рди рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - https://github.com/nodejs /рдиреЛрдб/ рдмреНрд▓реЙрдм/ lib/ рдЖрдВрддрд░рд┐рдХ/ js #

рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ: +1:

рдиреЛрдб рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рд╕рдВрддрд░реА рдореЗрдВ рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддреЗ рд╣реИрдВ - рдЕрддрд┐рд░рд┐рдХреНрдд рдЬреЛрдЦрд┐рдо рдХреЗ рд╕рд╛рде рдХрд┐ рдХреБрдЫ рдЗрд╕реЗ рдЧрд▓рдд рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдХреБрдЫ рдХреЛ рдпрд╣ рднреА рдПрд╣рд╕рд╛рд╕ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рдПрдХ рдкреНрд░реЛрдбрдХреНрд╢рди рдмрдЧ рдиреЗ рдХрд╛рдЯ рд▓рд┐рдпрд╛, рдЬреИрд╕реЗ рдореИрдВрдиреЗ рдХрд┐рдпрд╛ред рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдбреЗрд╡рд▓рдкрд░ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ ...

@ рдереЙрдорд╕-рдбрд╛рд░реНрд▓рд┐рдВрдЧ рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ? рдЙрд╕реА рдХреЛрдб рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ рдЬреЛ рдиреЛрдб рдХреЗ рдХреЛрдб рдХреЗ рдЕрдВрджрд░ рд╣реИ?

рд╣рдорд╛рд░реЗ рдбреЙрдХреНрд╕ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдмрд╣реБрдд рд╣реА рджреГрд╢реНрдпрдорд╛рди рдиреЛрдЯ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрдВрд╕реЛрд▓ рд▓реЙрдЧрд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ - https://docs.sentry.io/platforms/node/

image

рдореИрдВ рдЖрдкрдХреА рдмрд╛рдд рджреЗрдЦрддрд╛ рд╣реВрдВ - рдиреЛрдб рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд░рдЦрд░рдЦрд╛рд╡ рд╕рдорд╕реНрдпрд╛ рд╣реЛрдЧреА, рдФрд░ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдиреЛрдб рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдиреЛрдб рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рджреЛрд╣рд░рд╛рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХрдо рд╕реЗ рдХрдо рдХрдВрд╕реЛрд▓ рдкрд░ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рд▓реЙрдЧ рдХрд░реЗрдВ рдЬрдм рд╡рд╣ рдзреНрд╡рдЬ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджрдмрд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЗрд╕рд╕реЗ рдХреИрд╕реЗ рдмрдЪрд╛ рдЬрд╛рдПред

рдпрд╣ рдиреЛрдб рдХреЗ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдФрд░ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЕрдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдЕрд╕реНрд╡реАрдХреГрддрд┐, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХреНрд░реИрд╢ рдХрд░ рджреЗрдЧреА - рдЬреЛ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рддрдм рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЬрдм рд╕рдВрддрд░реА рдЕрдкрдиреЗ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛ рдиреЛрдб рдореЗрдВ рдЙрд╕ рдирдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдмреБрд░рд╛ рдЖрд╢реНрдЪрд░реНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдЧрд░ рд╡реЗ рдмрд╛рдж рдореЗрдВ рд╕рдВрддрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдЪрд╛рдирдХ рдЬрд╛рд░реА рд░рд╣рддреА рд╣реИ, рдПрдХ рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрджред
рдпрд╣ рдЙрд╕ рддрд░рд╣ рдХреА рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рдпрд╛ рдЕрдиреНрдп рдЖрдкрджрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рджреЗрдЦрд╛ рд╣реИ рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:

  1. рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ Node.js рдХреЗ рддрд░реАрдХреЗ рдХреЛ рджреЛрд╣рд░рд╛рдПрдВ
  2. рдЬрдм рдХреЛрдИ рд╣реИрдВрдбрд▓ рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЕрд╕реНрд╡реАрдХреГрддрд┐ рд╣реЛ рддреЛ рдмрд╕ console.error рд▓рд┐рдЦреЗрдВ
  3. рддреНрд░реБрдЯрд┐ рдХреЛ рджрдмрд╛рдПрдВ рддрд╛рдХрд┐ рдбреЗрд╡рд▓рдкрд░ рдЗрд╕реЗ рдХрднреА рди рджреЗрдЦ рд╕рдХреЗ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдХрд▓реНрдк 1 рдпрд╛ 2 рджреЛрдиреЛрдВ рдареАрдХ рд▓рдЧрддреЗ рд╣реИрдВред рдЖрдкрдХрд╛ рдЧреНрд░рд╛рд╣рдХ рддреНрд░реБрдЯрд┐ рджреЗрдЦрддрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЖрдкрдХреЛ рдЬреЛ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рд╡рд┐рдХрд▓реНрдк 3 рд╣реИ, рдЬрд╣рд╛рдВ рдЖрдкрдХреЗ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ рдФрд░ рд╕рдВрддрд░реА рдЙрддреНрдкрд╛рджрди рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ (рдУрд╣, рд▓реЗрдХрд┐рди рдПрдХ рддреНрд░реБрдЯрд┐ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдЯреВрд▓ рдХреЗ рд▓рд┐рдП рд╡рд┐рдбрдВрдмрдирд╛)ред рдпрд╣ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдВрдж рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП! рд╕рдВрддрд░реА рдХреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдореЗрдВ рдореЗрд░реА рдорджрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рдЗрд╕реЗ рдФрд░ рдЦрд░рд╛рдм рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдк рд╡рд┐рдХрд▓реНрдк 2 рдЪреБрдирддреЗ рд╣реИрдВ, рддреЛ рдХрдо рд╕реЗ рдХрдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЕрд╕реНрд╡реАрдХреГрддрд┐ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА рдФрд░ рд╡реЗ рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╡реЗ рдПрдХ рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ (рдПрдХ рджреБрд░реНрдШрдЯрдирд╛ рдХреА рддрд░рд╣) рдЪрд╛рд╣рддреЗ рдереЗ, рдФрд░ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдЬрд╛рдиреЗ рдмрд┐рдирд╛ рдХрд┐ рдПрдХ рдЕрд╕реНрд╡реАрдХреГрддрд┐ рднреА рдереА, рд╡реЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред https://github.com/getsentry/sentry-javascript/pull/2312
рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХреЙрд▓рдмреИрдХ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛, рдХреНрдпреЛрдВрдХрд┐ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдХрд╛ рдареАрдХ рд╡реИрд╕рд╛ рд╣реА рдкреНрд░рднрд╛рд╡ рд╣реЛрдЧрд╛:

```рдЬреЗрдПрд╕
рд╕рдВрддрд░реА.рдЗрдирд┐рдЯ({
рдПрдХреАрдХрд░рдг: [
рдирдИ рд╕рдВрддрд░реАред рдПрдХреАрдХрд░рдг
рдореЛрдб: 'рдХреЛрдИ рдирд╣реАрдВ'
})
]
});

process.on('unhandledRejection', (рдХрд╛рд░рдг) => {
// рдЖрдкрдХрд╛ рдХреЙрд▓рдмреИрдХ
})

рдореЗрд░реЗ рд▓рд┐рдП рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк TypeError: undefined is not a constructor ред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЕрдм @sentry/react-native рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ рдХреНрдпрд╛ рдЙрд╕ рдкреИрдХреЗрдЬ рдореЗрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ?

@schhumannd @sentry/react-native @sentry/node рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдореЗрдВ рдпрд╣ рдПрдХреАрдХрд░рдг рдирд╣реАрдВ рд╣реИред рдЙрд╕рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рд╕рдВрддрд░реА/рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рдмрд╕ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛ (рдХреНрдпреЛрдВрдХрд┐ рд╣реИрдВрдбрд▓рд░ рд╕реЗ true рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдФрд░ рдЧреИрд░-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ)ред

@kamilogorek рдореБрдЭреЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ

рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рдж! рдХреНрдпрд╛ рдЗрд╕реЗ рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЖрдк рдпрд╣рд╛рдВ рдкрд┐рдВрдЧ рдХрд░ рдкрд╛рдПрдВрдЧреЗ?

@OliverJAsh рдкрд┐рдВрдЧ :)

рдмрд╕ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореИрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ: рдпрджрд┐ рдореИрдВ рдиреЛрдб рдХреЗ --unhandled-rejections=strict рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдиреЛрдб рдЕрдкрд╡рд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдирдЪрд╛рд╣реЗ рдЕрд╕реНрд╡реАрдХреГрддрд┐ рдХреЛ рдЙрдард╛рдПрдЧрд╛, рдФрд░ рдлрд┐рд░ рд╕рдВрддрд░реА рдЙрд╕ рдЕрдкрд╡рд╛рдж рдХреЛ рд░реЛрдХ рджреЗрдЧрд╛ рдФрд░ рдЗрд╕рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣реА рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред

рдореИрдВ рдкреВрдЫрддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдореИрдВрдиреЗ --unhandled-rejections=strict рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рддреЛ рдРрд╕рд╛ рд▓рдЧрд╛ рдХрд┐ OnUnhandledRejections рдПрдХреАрдХрд░рдг рдХрд╛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рд╛-рдИрд╡реЗрдВрдЯ рд╢реНрд░реЛрддрд╛ рдХреЛ рдХрднреА рдирд╣реАрдВ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ред

рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╣рдо рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреБрдЫ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЬреЛрдбрд╝ рд╕рдХреЗрдВ!

рдбреЙрдХреНрд╕ рдкреАрдЖрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИ https://github.com/getsentry/sentry-docs/pull/1351/

@OliverJAsh рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ OnUnhandledRejection рдПрдХреАрдХрд░рдг рдХреЛ рдПрдХ рдирдпрд╛ рд╡рд┐рдХрд▓реНрдк рдорд┐рд▓рд╛ рдЬреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдХреНрд▓реА рдзреНрд╡рдЬ рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

Sentry.init({
  integrations: [
    new Sentry.Integrations.OnUnhandledRejection({
      mode: 'none'
    })
  ]
});

(рдЕрд╡рдзрд╛рд░рдгрд╛рддреНрдордХ рд░реВрдк рд╕реЗ) --unhandled-rejection=none рдХреЗ рд╕рдорд╛рди рд╣реИ рдФрд░ рд╡рд╣реА warn рдФрд░ strict ред
рдЬрдм рдЖрдк warn (рдЬреЛ рдЕрднреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЪреЗрддрд╛рд╡рдиреА рдФрд░ рддреНрд░реБрдЯрд┐ рдХреЛ рд╕реНрд╡рдпрдВ рд▓реЙрдЧ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЬреАрд╡рд┐рдд рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЬрдм рдЖрдк strict , рддреЛ рдпрд╣ рд▓реЙрдЧ рдХрд░реЗрдЧрд╛, рдИрд╡реЗрдВрдЯ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░реЗрдЧрд╛, рдЗрд╕реЗ рдлреНрд▓рд╢ рдХрд░реЗрдЧрд╛ (рдЗрд╕рдХреЗ рдбрд┐рд▓реАрд╡рд░ рд╣реЛрдиреЗ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ) рдФрд░ рдПрдЧреНрдЬрд┐рдЯ рдХреЛрдб 1 рдХреЗ рд╕рд╛рде рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдорд╛рд░ рджреЗрдЧрд╛ред

рдпрд╣ рд╕рдордЭ рдЖрддрд╛ рд╣реИред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХреАрдХрд░рдг рдиреЛрдб рдзреНрд╡рдЬ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреНрдпрд╛ рдореИрдВ рд╕рд┐рд░реНрдл рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдиреЛрдб рдзреНрд╡рдЬ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рд╕рдВрддрд░реА рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ (рдЗрд╕ рдПрдХреАрдХрд░рдг рдХреЗ рдмрд╛рд╣рд░)?

рдмрд╕ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореИрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ: рдпрджрд┐ рдореИрдВ рдиреЛрдб рдХреЗ --unhandled-rejections= рд╕рдЦреНрдд рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдиреЛрдб рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдЕрд╕реНрд╡реАрдХреГрддрд┐ рдХреЛ рдЙрдард╛рдПрдЧрд╛, рдФрд░ рдлрд┐рд░ рд╕рдВрддрд░реА рдЙрд╕ рдЕрдкрд╡рд╛рдж рдХреЛ рд░реЛрдХ рджреЗрдЧрд╛ рдФрд░ рдЗрд╕рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣реА рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред

@schhumannd FYI рдХрд░реЗрдВ, рдЖрдЬ рд╕реБрдмрд╣ рд╣рдордиреЗ @sentry/react-native 1.10.0 рдЬрд╛рд░реА рдХрд┐рдпрд╛ [рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдУрд╣, 1.1.0 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП], рдЬреЛ @sentry/browser рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рддрд╛ рд╣реИ (рдЬрд┐рд╕рдореЗрдВ рд╡рд╛рдкрд╕реА рд╢рд╛рдорд┐рд▓ рд╣реИ) - true -рдЗрд╕рдХреЗ рдмрдЬрд╛рдп- false рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдлрд┐рдХреНрд╕)ред

@lobsterkatie @ рд╕рдВрддрд░реА/рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдХреА рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬрд╝ 1.3.7 рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИред .

рддреЛ 1.10.0 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдлрд┐рдХреНрд╕ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реВрдВ?

@schhumannd @lobsterkatie рдХрд╛ рдЕрд░реНрде рд╣реИ 1.1.0 , рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рддрдм рд╣реИ рдЬрдм рд╣рдордиреЗ 5.9.0 рдХреЗ @sentry/browser 5.9.0 рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдерд╛ред рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рд╕реНрддрд░ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВрдбрд▓рд░ рд╡рд┐рдХрд▓реНрдк рдХреЛ @sentry/react-native рдХреЗ рд╣рд╛рд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рднреА рдареАрдХ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

franciscovelez picture franciscovelez  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

THPubs picture THPubs  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

grigored picture grigored  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dimmduh picture dimmduh  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

adepue picture adepue  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ