1const functionA = () => { 2 functionB() 3} 4 5function functionB() { 6 functionC() 7} 8 9const functionC = () => { 10 functionD() 11} 12 13const functionD = () => { 14 (function functionE () { 15 if (Math.random() > 0) { 16 throw new Error('an error!') 17 } 18 })() 19} 20 21const thrower = functionA 22 23try { 24 thrower() 25} catch (err) { 26 throw err 27} 28