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

Window.onerror рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рд╕реБрди рд░рд╣рд╛ рд╣реИ
рдЖрдк
onerror
рдЗрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП
window.onerror
рдлрдВрдХреНрд╢рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдПрд░рд░ рд╣реИрдВрдбрд▓рд░ рдХреА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддрд╛ рд╣реИ:
window.onerror = function(msg, url, lineNo, columnNo, error) { // ... ... return false; }
рддреНрд░реБрдЯрд┐ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ; рдЗрд╕рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рддрд░реНрдХ рджрд┐рдП рдЧрдП рд╣реИрдВ:
msg
- рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Uncaught ReferenceError: foo is not defined
редurl
- рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рдкрддрд╛ рдЬрд┐рд╕рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реБрдИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, /dist/app.js
редlineNo
- рдкрдВрдХреНрддрд┐ рд╕рдВрдЦреНрдпрд╛ рдЬрд╣рд╛рдБ рддреНрд░реБрдЯрд┐ рд╣реБрдИ (рдпрджрд┐ рд╕рдорд░реНрдерд┐рдд рд╣реИ)редcolumnNo
- рдкрдВрдХреНрддрд┐ рдХрд╛ рдХреЙрд▓рдо рдирдВрдмрд░ (рдпрджрд┐ рд╕рдорд░реНрдерд┐рдд рд╣реЛ)редerror
- error
рд╡рд╕реНрддреБ (рдпрджрд┐ рд╕рдорд░реНрдерд┐рдд рд╣реИ)ред
рдкрд╣рд▓реЗ рдЪрд╛рд░ рддрд░реНрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдХрд┐рд╕ рдкрдВрдХреНрддрд┐ рдореЗрдВ, рдФрд░ рдЗрд╕ рдкрдВрдХреНрддрд┐ рдХреЗ рдХрд┐рд╕ рдХреЙрд▓рдо рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реБрдИред рдЕрдВрддрд┐рдо рддрд░реНрдХ, рдкреНрд░рдХрд╛рд░
Error
рдХрд╛ рдПрдХ рдЙрджреНрджреЗрд╢реНрдп, рд╕рдВрднрд╡рддрдГ рд╕рднреА рддрд░реНрдХреЛрдВ рдХрд╛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЪрд▓рд┐рдП рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред
рддреНрд░реБрдЯрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдФрд░ Error.prototyp.stack рдЧреБрдг
рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ,
Error
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдореЗрдВ рддреАрди рдХрд╛рдлреА рдорд╛рдирдХ рдЧреБрдг рд╣реИрдВ -
message
,
lineNumber
рдФрд░
lineNumber
ред рдпрд╣ рдбреЗрдЯрд╛,
window.onerror
рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рджреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдмреЗрдорд╛рдиреА рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓реНрдп рдЧреИрд░-рдорд╛рдирдХ рд╕рдВрдкрддреНрддрд┐
Error.prototype.stack
ред рдпрд╣ рд╕рдВрдкрддреНрддрд┐ рдХреЙрд▓ рд╕реНрдЯреИрдХ (рддреНрд░реБрдЯрд┐ рд╕реНрдЯреИрдХ) рддрдХ рдкрд╣реБрдВрдЪ рджреЗрддреА рд╣реИ, рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЙрд╕ рд╕рдордп рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рдерд╛ рдЬрдм рддреНрд░реБрдЯрд┐ рд╣реБрдИ рдереА, рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдиреЗ рдЕрдкрдиреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╕реЗ рдкрд╣рд▓реЗ рдХреА рдереАред рдХреЙрд▓ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдбреАрдмрдЧрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдФрд░, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐
stack
рд╕рдВрдкрддреНрддрд┐ рдорд╛рдирдХ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕рднреА рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред
рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ Chrome 46 рдореЗрдВ рддреНрд░реБрдЯрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА
stack
рдЧреБрдг рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред
"Error: foobar\n at new bar (<anonymous>:241:11)\n at foo (<anonymous>:245:5)\n at <anonymous>:250:5\n at <anonymous>:251:3\n at <anonymous>:267:4\n at callFunction (<anonymous>:229:33)\n at <anonymous>:239:23\n at <anonymous>:240:3\n at Object.InjectedScript.\_evaluateOn (<anonymous>:875:140)\n at Object.InjectedScript.\_evaluateAndWrap (<anonymous>:808:34)"
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдПрдХ рдЧреИрд░-рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИред рдЬрдм рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ рдХреА рд╕рд╛рдордЧреНрд░реА рдЗрд╕ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╕реНрд╡рд░реВрдкрдг рдХреЗ рдмрд╛рдж рднреА рдРрд╕рд╛ рд╣реА рд╣реЛрдЧрд╛ред
Error: foobar at new bar (<anonymous>:241:11) at foo (<anonymous>:245:5) at callFunction (<anonymous>:229:33) at Object.InjectedScript._evaluateOn (<anonymous>:875:140) at Object.InjectedScript._evaluateAndWrap (<anonymous>:808:34)
рдЕрдм, рд╕реНрд╡рд░реВрдкрдг рдХреЗ рдмрд╛рдж, рддреНрд░реБрдЯрд┐ рд╕реНрдЯреИрдХ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рджрд┐рдЦрддрд╛ рд╣реИ, рдпрд╣ рддреБрд░рдВрдд рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдбреАрдмрдЧ рдХрд░рддреЗ рд╕рдордп
stack
рдЧреБрдг рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреНрдпреЛрдВ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдЖрд╕рд╛рдиреА рд╕реЗ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред
stack
рдЧреБрдг рдХреЛ рдорд╛рдирдХреАрдХреГрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ 11 рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╕реНрдЯреИрдХ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред
Error: foobar at bar (Unknown script code:2:5) at foo (Unknown script code:6:5) at Anonymous function (Unknown script code:11:5) at Anonymous function (Unknown script code:10:2) at Anonymous function (Unknown script code:1:73)
рдЖрдк рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд┐ рдпрд╣рд╛рдВ рди рдХреЗрд╡рд▓ рд╕реНрдЯреИрдХ рдлреНрд░реЗрдо рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рднреА рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдлреНрд░реЗрдо рдХреЗ рд▓рд┐рдП рдХрдо рдбреЗрдЯрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Chrome
new
рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рдШрдЯрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
_evaluateOn
рдФрд░ред
_evaluateAndWrap
)ред рдЙрд╕реА рд╕рдордп, рдпрд╣рд╛рдВ рд╣рдордиреЗ рдХреЗрд╡рд▓ IE рдФрд░ рдХреНрд░реЛрдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреНрдпрд╛ рджрд┐рдпрд╛ред рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реНрдЯреИрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЗрд╕ рдбреЗрдЯрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдпрд╣ рд╕рдм рдПрдХ рд╕рдорд╛рди рд░реВрдк рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░реЗрд╡реЗрди-рдЬреЗрдПрд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЯреНрд░реЗрд╕рдХрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред Stacktrace.js рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдПрдХ рд╣реА рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред
рд╡рд┐рднрд┐рдиреНрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ window.onerror рд╕рдорд░реНрдерди рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ
windows.onerror
рдШрдЯрдирд╛ рдХрд╛рдлреА рд╕рдордп рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдореМрдЬреВрдж рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣ IE6 рдФрд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 2 рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ
windows.onerror
рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЗрд╕ рдШрдЯрдирд╛ рдХреЗ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рддрд░реНрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рд╕рдВрд░рдЪрдирд╛ рдХреА рдЪрд┐рдВрддрд╛ рдХрд░рддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╣реИ рдЬреЛ рдкреНрд░рдореБрдЦ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ
onerror
рд╣реИрдВрдбрд▓рд░ рдХреЛ рджрд┐рдП
onerror
рддрд░реНрдХреЛрдВ рдХреЛ
onerror
рд╣реИред
рдмреНрд░рд╛рдЙрдЬрд╝рд░
| рд╕рдВрджреЗрд╢
| рдпреВрдЖрд░рдПрд▓
| lineno
| colNo
| errorObj
|
рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
|
рдХреНрд░реЛрдо
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
|
рдзрд╛рд░
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
|
IE 11
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
|
IE10
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рдирд╣реАрдВ
|
IE 9.8
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рдирд╣реАрдВ
| рдирд╣реАрдВ
|
рд╕рдлрд╛рд░реА 10 рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
|
рд╕рдлрд╝рд╛рд░реА реп
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рдирд╣реАрдВ
|
Android рдмреНрд░рд╛рдЙрдЬрд╝рд░ 4.4
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рд╡рд╣рд╛рдБ рд╣реИ
| рдирд╣реАрдВ
|
рд╢рд╛рдпрдж рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ, рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ 8, 9, рдФрд░ 10 рдореЗрдВ
onerror
рд▓рд┐рдП рд╕реАрдорд┐рдд рд╕рдорд░реНрдерди рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдЕрд╕рд╛рдорд╛рдиреНрдп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рдлрд╛рд░реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗрд╡рд▓ 10 рд╡реЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, 2016 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓реАрдЧреЗрд╕реА рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рд╣реИрдВ рдЬреЛ рдорд╛рдирдХ рдПрдВрдбреНрд░реЙрдЗрдб рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рддреНрд░реБрдЯрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рднреА рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рдЖрдзреБрдирд┐рдХ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рдЗрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдХреНрд░реЛрдо рдореЛрдмрд╛рдЗрд▓ рджреНрд╡рд╛рд░рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдпрджрд┐ рд╣рдорд╛рд░реЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╡рд╕реНрддреБ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЬреЛ рддреНрд░реБрдЯрд┐ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ
onerror
рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕реНрдЯреИрдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдпрд╣, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдХрд╣рд╛ рд╣реИ, рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рд╡рд┐рдВрдбреЛ рдХреЗ рд▓рд┐рдП рдкреЙрд▓рд┐рдлрд╝рд┐рд▓ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯред рдХреЛрд╢рд┐рд╢ / рдХреИрдЪ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕реНрдЯреИрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ
onerror
рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдПрдХ
onerror
рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЖрдк рдирд┐рдореНрди рдЪрд╛рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдХреЛрдб рдХреЛ рдПрдХ
try/catch
рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рд▓рдкреЗрдЯ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕реНрд╡рдпрдВ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдореА рддреНрд░реБрдЯрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рднреА рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ, рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП рд╡рд╣
stack
рдкреНрд░реЙрдкрд░реНрдЯреА рд╣реИред
invoke()
рд╕рд╣рд╛рдпрдХ рд╡рд┐рдзрд┐ рдХреЛрдб рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ, рдЬреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рджреА рдЧрдИ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рддрд░реНрдХреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИред
function invoke(obj, method, args) { return obj[method].apply(this,args); }
рдпрд╣рд╛рдБ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИред
invoke(Math, 'max', [1,2])
рдпрд╣рд╛рдВ рдПрдХ рд╣реА
invoke()
, рд▓реЗрдХрд┐рди рдЕрдм рд╡рд┐рдзрд┐ рдХреЙрд▓ рдХреЛ
try/catch
рдореЗрдВ рд▓рдкреЗрдЯрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
function invoke(obj, method, args) { try { return obj[method].apply(this,args); } catch(e) { captureError(e);// throw e;// } } invoke(Math,'highest',[1,2]); // , Math.highest
рдмреЗрд╢рдХ, рдпрд╣ рдмрд╣реБрдд рд╣реА рдорд╣рдВрдЧрд╛ рд╣реИ рдХрд┐ рдРрд╕реА рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рд╕рднреА рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП рдЬрд╣рд╛рдВ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕рд╣рд╛рдпрдХ рд╕рдорд╛рд░реЛрд╣ рдмрдирд╛рдХрд░ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
function wrapErrors(fn) { // if(!fn.__wrapped__) { fn.__wrapped__ = function() { try{ return fn.apply(this,arguments); }catch(e){ captureError(e);// throw e;// } }; } return fn.__wrapped__; } var invoke = wrapErrors(function(obj, method, args) { returnobj[method].apply(this,args); }); invoke(Math,'highest',[1,2]);//, Math.highest
рдЪреВрдВрдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдЖрд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдЙрди рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдирдП рдвреЗрд░ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣реИрдВред рдЗрд╕рдореЗрдВ рд╕рднреА рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЛ рд▓рдкреЗрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд┐рдореНрди рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- рдЬрд╣рд╛рдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп,
$(document).ready
рдлрд╝рдВрдХреНрд╢рди) - рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
addEventListener
рдпрд╛ рдлреЙрд░реНрдо рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ $.fn.click
) - рдЯрд╛рдЗрдорд░ рдШрдЯрдирд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдмреБрд▓рд╛рдП рдЧрдП рдХреЙрд▓рдмреИрдХ рдореЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣
requestAnimationFrame
рдпрд╛ requestAnimationFrame
рдпрд╣рд╛рдБ
wrapErrors
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛
wrapErrors
рд╣реИред
$(wrapErrors(function () {// doSynchronousStuff1();// setTimeout(wrapErrors(function () { doSynchronousStuff2();// })); $('.foo').click(wrapErrors(function () { doSynchronousStuff3();// })); }));
рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреЛ рд╕реНрд╡рдпрдВ рдХреЛрдб рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рдХрд╛рд░реНрдп рд╣реИред рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдРрд╕реЗ рддрдВрддреНрд░ рд╣реИрдВ рдЬреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ
addEventListener
рд▓рд┐рдП рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ
setTimeout
addEventListener
рдФрд░
setTimeout
addEventListener
рд╣реИрдВред
рд╕рд░реНрд╡рд░ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг
рдЗрд╕рд▓рд┐рдП, рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рдирд┐рдкрдЯрд╛рди рдХреЗ рд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдпрд╛ рддреЛ
windows.onerror
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдпрд╛
try/catch
рдЖрдзрд╛рд░ рдкрд░ рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рдУрд░ рд╕реЗ рдпреЗ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВ, рдФрд░ рдЙрдирдХреЗ рдЕрд╡рд░реЛрдзрди рдХреЗ рдмрд╛рдж, рд╣рдо рдЙрдирд╕реЗ рдирд┐рдкрдЯрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рдЙрдкрд╛рдп рдХрд░реЗрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рд╡реЗрдм рд╕реЗрд╡рд╛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ HTTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддреНрд░реБрдЯрд┐ рдЬрд╛рдирдХрд╛рд░реА рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕реЗ рдЖрдЧреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рд╕рд╣реЗрдЬрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд▓рд┐рдЦрддреА рд╣реИред
рдпрджрд┐ рдпрд╣ рд╡реЗрдм рд╕реЗрд╡рд╛ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рдорд╛рди рдбреЛрдореЗрди рдкрд░ рд╕реНрдерд┐рдд рд╣реИ, рддреЛ
XMLHttpRequest
рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рд╕реЗ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП jQuery рд╕реЗ AJAX рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред
function captureError(ex){ var errorData = { name:ex.name,// : ReferenceError message:ex.line,// : x is undefined url:document.location.href, stack:ex.stack// ; , ! }; $.post('/logger/js/',{ data:errorData }); }
рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рдХреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд░реЙрд╕-рдбреЛрдореЗрди рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдРрд╕реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред
рдкрд░рд┐рдгрд╛рдо
рдЖрдкрдиреЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрд╡рд╛ рдмрдирд╛рдиреЗ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╕реАрдЦреА рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣рд╛рдВ рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореБрджреНрджреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА:
onerror
рдЗрд╡реЗрдВрдЯ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдердиред- рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХреЙрд▓ рд╕реНрдЯреИрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
onerror
try/catch
рдореИрдХреЗрдирд┐рдЬреНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╣рд╛рдВ onerror
рдПрд░рд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред - рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд╕рд░реНрд╡рд░ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВред
рдЙрдкрд░реЛрдХреНрдд рддрдВрддреНрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдиреЗ рдмреБрдирд┐рдпрд╛рджреА рдЬреНрдЮрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдХрд╛рдо рдХреЗ рджреМрд░рд╛рди рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рд╣реБрдП рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдЦреБрдж рдХреА рдкреНрд░рдгрд╛рд▓реА рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рд╢рд╛рдпрдж рдпрд╣ рдкрд░рд┐рджреГрд╢реНрдп рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рдЬрдм рдпрд╣ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрд╡реЗрджрди рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ, рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ, рдпрд╣ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди рддреГрддреАрдп-рдкрдХреНрд╖ рдХреЛрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЬреЗрдПрд╕ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЙрдкрдХрд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ
рд╕рдВрддрд░реА ,
рд░реЛрд▓рдмрд╛рд░ ,
рдЯреНрд░реИрдХрдЬреЗрдПрд╕ рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВред
рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдЬреЗрдПрд╕ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдЖрдк рдХреМрди рд╕реЗ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?
