// Copyright 2016 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. print("Check that inspector correctly passes caught/uncaught information."); InspectorTest.addScript( `function throwCaught() { try { throw new Error(); } catch (_) {} } function throwUncaught() { throw new Error(); } function schedule(f) { setTimeout(f, 0); } `); Protocol.Debugger.enable(); Protocol.Debugger.setPauseOnExceptions({ "state": "all" }); Protocol.Debugger.onPaused(message => { InspectorTest.log("paused in " + message.params.callFrames[0].functionName); InspectorTest.log("uncaught: " + message.params.data.uncaught); Protocol.Debugger.resume(); }); Protocol.Runtime.evaluate({ "expression": "schedule(throwCaught);" }) .then(() => Protocol.Runtime.evaluate( { "expression": "schedule(throwUncaught);" })) .then(() => InspectorTest.completeTest());