divide

by marcelow

HTML

<script>
  const origConsoleLog = console.log;
  const origConsoleError = console.error;
  window.console.log = (input) => {
    origConsoleLog(input);
    document.write('<div>Result: ' + input + "</div>");
  };
  window.console.error = (input) => {
    origConsoleError('<div>Error: ' + input + "</div>");
    document.write(input);
  };

</script>

JavaScript

// **** start ignore ***
window.dividePromise = () => ({then: () => {}});window.divideCallback = () => {};
// **** end ignore ***

// non async divide
const divide = (a, b) => {
  if (b === 0) {
    throw new Error('DIV 0');
  }
  return a / b;
}

// divide usage
console.log(divide(10, 2));
try {
  console.log(divide(10, 0));
} catch (e) {
  console.error(e);
}











// hint

// divide promise usage
dividePromise(10, 2).then(
  (result) => console.log(result),
  (error) => console.error(error),
)

// divide callback usage
divideCallback(10, 2, (error, result) => {
  if (error !== undefined) {
    console.error(error);
  } else {
    console.log(result);
  }
});