простое исключение в JavaScript, чтобы код не работал

0

Я пишу простую функцию разделения Javascript и занимаюсь обработкой исключений с помощью throw, try() и 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>
Теги:
exception-handling

3 ответа

1
Лучший ответ
//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);
}
  • 0
    if (b == 0) все еще ошибается}
2

Может быть, это может быть хорошо работает

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

Вы пропустили { в конце if(b==0)

  • 0
    проверьте, где закрытие} на if!
  • 1
    @BigMike обновил мой ответ
Показать ещё 1 комментарий
1

Это должно работать

        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);
        }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню