JavaScript中的简单异常导致代码不起作用

simple exception in javascript cause the codeto not work

本文关键字:代码 不起作用 异常 简单 JavaScript      更新时间:2023-09-26

我写了简单的Javascript除法函数并做异常处理使用throwtry()catch()问题是代码异常根本不起作用,甚至提示未显示

这是我的代码

<html>
    <head>
        <title>JavaScript lab</title>
        <meta charset="utf-8" />
        <script language="javascript">
            function div(a,b) { 
              if (b == 0)
                throw { name: 'notallowed', message: 'div by zero' };
                var c = a/b;
                alert(c);
              }
            }
            try {
              var x = prompt("Enter num1"); 
              var y = prompt("Enter num2"); 
              div(a,b);
            }
            catch(e) {
              alert("Error: "+e.message);
            }
        </script>
    </head>
</html>

也许这可能工作正常

function div(a,b) { 
   if (b == 0){
       throw { name: 'notallowed', message: 'div by zero' };
   }
   var c = a/b;
   alert(c);
}

您在if(b==0)结束时错过了{

//modify 
function div(a,b) { //function div(a,b)
  if (b == 0){
    throw { name: 'notallowed', message: 'div by zero' };
     var c = a/b;
    alert(c);
  }
}

try {
  var x = prompt("Enter num1"); 
  var y = prompt("Enter num2"); 
  //modify
  div(x,y);//div(a,b);
}
catch(e) {
  alert("Error: "+e.message);
}

这应该有效

        function div(a,b) { 
          if (b == 0) {
            throw { name: 'notallowed', message: 'div by zero' };
          }
          var c = a/b;
          alert(c);
        }

        try {
          var x = prompt("Enter num1"); 
          var y = prompt("Enter num2"); 
          div(x,y);
        }
        catch(e) {
          alert("Error: "+e.message);
        }