Для Chrome удалось сделать такой нетривиальный хак
Но, похоже это именно хак, да и работает он только для текущего Chrome
function externalCodeWithError() {
throw 123;// здесь будет остановка при включенном "Pause on exceptions" и выключенном "Pause on caught exeptions"
}
function callWithErrorHandling(func) {
// работает на Chrome 101. Но похоже скорее на недокументированную багу devtools
function* wrap() {
func();
}
try {
for(const tmp of wrap()) {}
} catch(e) {
console.log(e);
throw e;// здесь отладчик остановится еще раз, но это не так критично. главное что был останов в месте возникновения ошибки
}
}
callWithErrorHandling(externalCodeWithError);