Скажет, у меня есть этот код:Как я могу остановить все выполнение кода в javascript?
var myVar = 0;
function myFunctionOne() {
myVar = myVar + 2;
if(myVar <= 3) {
alert("all is good");
} else {
showError(myVar);
}
}
function myFunctionTwo() {
myVar = myVar + 2;
if(myVar <= 3) {
alert("all is good");
} else {
showError(myVar);
}
}
function myFunctionThree() {
//This should never run....
myVar = myVar + 2;
if(myVar <= 3) {
alert("all is good");
} else {
showError(myVar);
}
}
function showError(myVar) {
alert("Error Var is larger than 3. Var is" + myVar);
return false;
//This doesn't seem to stop anything
}
myFunctionOne();
myFunctionTwo();
myFunctionThree();
Здесь также скрипка: http://jsfiddle.net/dzjk44Lr/
Что я могу поместить внутри моей ShowError функции(), которая будет убивать все последующие вызовы функций? В этом примере myFunctionThree(); никогда не должен запускаться.
Я знаю, что это простой пример, но я пытаюсь разглядеть шаблон модуля, и в моем модуле у меня есть много функций, которые делегируют работу и изменяют переменные. Поэтому, если одна из функций выходит из строя или получает недопустимую переменную, я хочу, чтобы все остановилось и отобразило ошибку пользователя. Поскольку, если в myFunctionOne() была ошибка, нет смысла продолжать выполнение какого-либо другого кода.
Я предполагаю, что я ищу что-то вроде функции php exit(). Любые советы о том, как это сделать или как я должен делать это по-другому, будут очень признательны.
Вы не можете сделать что-то вроде php 'exit()', потому что вы не собираетесь закрывать браузер. Все это звучит для меня так, как будто вам нужен дизайн обработки ошибок для вашего кода, а не бросать руки вверх в ошибку и просто прервать все. Вы можете «выбросить» исключение, и это остановит текущий поток выполнения (вплоть до любого обработчика исключений, который может поймать исключение), но не всегда лучший способ разработки кода. – jfriend00