
рдЪрд╛рд░ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ,
рдореИрдВрдиреЗ рд▓рд┐рдЦрд╛ рд╣реИ рдХрд┐ рдЖрдк рдиреЛрдб рдореЗрдВ рдХреИрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдореЗрдВ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╡рд╛рд▓реЗ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рд╡реЗ рдЬреЛ рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдлреЗрдВрдХ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рджреНрд╡рд╛рд░рд╛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдЙрдирд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП
рдирд┐рдпрдВрддреНрд░рдг-рдмреНрд▓реЙрдХ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдорд╛рдирдХ рдХреЛрд╢рд┐рд╢-рдкрдХрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рдмреНрд▓реЙрдХ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред
рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рдЙрд╕реА рд╕рдордп рдХреЗ рдЖрд╕рдкрд╛рд╕, рдПрдбрдо рдХреНрд░реИрдмрдЯреНрд░реА рдиреЗ рдирд┐рдпрдВрддреНрд░рдг-рдмреНрд▓реЙрдХ-рдЬреИрд╕реЗ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдПрдХ рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд┐рдпрд╛, рдЬрд┐рд╕реЗ
рдЯреНрд░рд╛рдпрдХреИрдЪ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
Trycatch рдореЙрдбреНрдпреВрд▓ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдирд┐рдпрдВрддреНрд░рдг-рдмреНрд▓реЙрдХ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ:
1. рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд┐рдд рдХреЙрд▓рдмреИрдХ рдХреЛ рд▓рдкреЗрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЖрджрд┐ред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЯреНрд░рд╛рдИрдХреИрдЪ рдореЙрдбреНрдпреВрд▓ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ, рд╕реЗрдЯрдЗрдВрдЯрд░рд╡рд▓, рдПрдлрдПрд╕ рдореЙрдбреНрдпреВрд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмреВрдЯ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдХреЙрд▓рдмреИрдХ рднреЗрдЬрдиреЗ рдкрд░ рдмреНрд▓реЙрдХ.рдЧрд╛рд░реНрдб () рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдХреЙрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
2. рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЯреНрд░рд╛рдпрдХреИрдЪ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдХреЙрд▓рдмреИрдХ рдХреЛ рд▓рдкреЗрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдХрд╛рд░рдг, рдирд┐рдпрдВрддреНрд░рдг-рдмреНрд▓реЙрдХ рдХреБрдЫ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдирд╣реАрдВ рдкрдХрдбрд╝ рд╕рдХрд╛ рдЬреЛ рддреГрддреАрдп-рдкрдХреНрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╣реБрдП рдереЗред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдРрд╕реА рдЕрдиреБрдЪрд┐рдд рддреГрддреАрдп-рдкрдХреНрд╖ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬреЛ рдирд┐рдпрдВрддреНрд░рдг-рдмреНрд▓реЙрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдард┐рди рд╣реИ:
function blackBox() { setTimeout(function() { throw new Error('black box error'); }, 10); }
рдФрд░ рдпрд╣ рд╡рд╣ рдХреЛрдб рд╣реИ рдЬреЛ рдЯреНрд░рд╛рдпрдХреИрдЪ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдЕрдм рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ:
var trycatch = require('trycatch'); trycatch(function() { setInterval(blackBox, 1000); }, function(err) { console.log('caught!'); console.log(err.stack); });
рд╡рд╣ рдЙрддреНрдкрд╛рджрди рдХрд░реЗрдЧрд╛:

3. рд▓рдВрдмреЗ рд╕реНрдЯреИрдХ рдирд┐рд╢рд╛рди
рд▓реЙрдиреНрдЧ-рд╕реНрдЯреИрдХ-рдЯреНрд░реИрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд▓рдВрдмреЗ рд╕реНрдЯреИрдХ рдЯреНрд░реИрдХреНрд╕ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреЗ рд╣реИрдВ рддреЛ рдЯреНрд░реИрдВрдХреНрдпреВрдЪ рдореЙрдбреНрдпреВрд▓ рдбрд┐рдмрдЧрд┐рдВрдЧ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЯреНрд░реИрдХ рдХрд░рддрд╛ рд╣реИ:
var trycatch = require('trycatch'); trycatch.configure({'long-stack-traces': true}); trycatch(function() { setInterval(blackBox, 1000); }, function(err) { console.log('caught!'); console.log(err.stack); });
рдпрд╣ рдХреЛрдб рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдРрд╕реЗ рд╕реНрдЯреИрдХ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░реЗрдЧрд╛:

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