File tree 1 file changed +12
-6
lines changed
1 file changed +12
-6
lines changed Original file line number Diff line number Diff line change @@ -128,12 +128,18 @@ function init() {
128
128
129
129
window . addEventListener ( 'load' , ( ) => sampleRUM ( 'load' ) ) ;
130
130
131
- window . addEventListener ( 'unhandledrejection' , ( event ) => {
132
- sampleRUM ( 'error' , { source : event . reason . sourceURL , target : event . reason . line } ) ;
133
- } ) ;
134
-
135
- window . addEventListener ( 'error' , ( event ) => {
136
- sampleRUM ( 'error' , { source : event . filename , target : event . lineno } ) ;
131
+ [ 'error' , 'unhandledrejection' ] . forEach ( ( event ) => {
132
+ window . addEventListener ( event , ( { reason, error } ) => {
133
+ const errData = { source : 'undefined error' } ;
134
+ try {
135
+ errData . target = ( reason || error ) . toString ( ) ;
136
+ errData . source = ( reason || error ) . stack . split ( '\n' )
137
+ . filter ( ( line ) => line . match ( / h t t p s ? : \/ \/ / ) ) . shift ( )
138
+ . replace ( / a t ( [ ^ ] + ) \( ( .+ ) \) / , '$1@$2' )
139
+ . trim ( ) ;
140
+ } catch ( err ) { /* error structure was not as expected */ }
141
+ sampleRUM ( 'error' , errData ) ;
142
+ } ) ;
137
143
} ) ;
138
144
}
139
145
You can’t perform that action at this time.
0 commit comments