Tests that all sessions get exception notifications. Throwing in 2 Throwing in 1 Throwing in setTimeout 1 From session 1 { method : Runtime.exceptionThrown params : { exceptionDetails : { columnNumber : 19 exception : { type : string value : error3 } exceptionId : executionContextId : lineNumber : 0 stackTrace : { callFrames : [ [0] : { columnNumber : 19 functionName : setTimeout lineNumber : 0 scriptId : url : } ] } text : Uncaught error3 } timestamp : } } From session 2 { method : Runtime.exceptionThrown params : { exceptionDetails : { columnNumber : 19 exception : { type : string value : error3 } exceptionId : executionContextId : lineNumber : 0 stackTrace : { callFrames : [ [0] : { columnNumber : 19 functionName : setTimeout lineNumber : 0 scriptId : url : } ] } text : Uncaught error3 } timestamp : } } Throwing in setTimeout 2 From session 1 { method : Runtime.exceptionThrown params : { exceptionDetails : { columnNumber : 19 exception : { type : string value : error4 } exceptionId : executionContextId : lineNumber : 0 stackTrace : { callFrames : [ [0] : { columnNumber : 19 functionName : setTimeout lineNumber : 0 scriptId : url : } ] } text : Uncaught error4 } timestamp : } } From session 2 { method : Runtime.exceptionThrown params : { exceptionDetails : { columnNumber : 19 exception : { type : string value : error4 } exceptionId : executionContextId : lineNumber : 0 stackTrace : { callFrames : [ [0] : { columnNumber : 19 functionName : setTimeout lineNumber : 0 scriptId : url : } ] } text : Uncaught error4 } timestamp : } } Rejecting in 2 From session 1 { method : Runtime.exceptionThrown params : { exceptionDetails : { columnNumber : 40 exception : { type : string value : error5 } exceptionId : executionContextId : lineNumber : 0 stackTrace : { callFrames : [ [0] : { columnNumber : 40 functionName : setTimeout lineNumber : 0 scriptId : url : } ] } text : Uncaught error5 } timestamp : } } From session 2 { method : Runtime.exceptionThrown params : { exceptionDetails : { columnNumber : 40 exception : { type : string value : error5 } exceptionId : executionContextId : lineNumber : 0 stackTrace : { callFrames : [ [0] : { columnNumber : 40 functionName : setTimeout lineNumber : 0 scriptId : url : } ] } text : Uncaught error5 } timestamp : } } Revoking in 2 From session 1 { method : Runtime.exceptionRevoked params : { exceptionId : reason : Handler added to rejected promise } } id matching: true From session 2 { method : Runtime.exceptionRevoked params : { exceptionId : reason : Handler added to rejected promise } } id matching: true Rejecting in 1 From session 1 { method : Runtime.exceptionThrown params : { exceptionDetails : { columnNumber : 40 exception : { type : string value : error6 } exceptionId : executionContextId : lineNumber : 0 stackTrace : { callFrames : [ [0] : { columnNumber : 40 functionName : setTimeout lineNumber : 0 scriptId : url : } ] } text : Uncaught error6 } timestamp : } } From session 2 { method : Runtime.exceptionThrown params : { exceptionDetails : { columnNumber : 40 exception : { type : string value : error6 } exceptionId : executionContextId : lineNumber : 0 stackTrace : { callFrames : [ [0] : { columnNumber : 40 functionName : setTimeout lineNumber : 0 scriptId : url : } ] } text : Uncaught error6 } timestamp : } } Revoking in 1 From session 1 { method : Runtime.exceptionRevoked params : { exceptionId : reason : Handler added to rejected promise } } id matching: true From session 2 { method : Runtime.exceptionRevoked params : { exceptionId : reason : Handler added to rejected promise } } id matching: true