'use strict'; const common = require('../common'); const assert = require('assert'); // To match browser behaviour, interval should continue // being rescheduled even if it throws. let count = 2; const interval = setInterval(() => { throw new Error('IntervalError'); }, 1); process.on('uncaughtException', common.mustCall((err) => { assert.strictEqual(err.message, 'IntervalError'); if (--count === 0) { clearInterval(interval); } }, 2));