JSFiddle - React, Tailwind, and code Playground
JavaScript
var oldTimeout = window.setTimeout;
window.setTimeout = function(callback, delay){
if(callback.name == 'Trace'){
oldTimeout.apply(this,[function(){
try{
callback.apply(this,arguments);
}
catch(e){
e.message += ' ('+e.stack.split('\n').map(function(e){return '['+e.replace(location.href,'plain_script').replace('@',' in ')+']'}).join(' < ')+')';
throw e;
}
}].concat(Array.prototype.slice.call(arguments,1,arguments.length)));
}
else{oldTimeout.apply(this,arguments)};
}
function foo(x) {
/* some statements */
bar();
}
function bar() { throw new Error("oooh damn!"); }
setTimeout(function() { foo(); }, 20);
setTimeout(function Trace() { foo(); }, 10);