По какой-то причине этот код дает мне ошибку неперехваченного исключения. Кажется, блок catch не поймал ошибку. Являются ли попытки блокировки блокироваться таким образом, что я не могу сбросить ошибку во вложенной функции, а затем ожидать, что она будет поймана с помощью оператора catch, охваченного выше цепочки? Некоторые из конфиденциальных данных в приложении, в котором я работаю, были удалены, но он ожидал, что leadInfo [0/1] будет 32-символьной буквенно-цифровой строкой, которую я вытаскиваю из параметров URL.
Основная проблема здесь заключается в том, что мой вызов AJAX возвращает ошибку API и эта ошибка не обрабатывается должным образом в приложении. Отсюда и необходимость формулировки броска. Вызов AJAX завершает штраф и возвращает объект JSON, который не содержит адрес электронной почты в качестве свойства, поэтому мне нужно обработать его таким образом, чтобы изменить страницу, чтобы отразить это.
jQuery(document).ready(function(){
try {
url = "http://api.com/api/v1/lead/" + leadInfo[1]
jQuery.ajax({
type: 'GET',
contentType: 'application/json',
url: url,
dataType : 'jsonp',
success: function (result) {
result = jQuery.parseJSON(result);
if(!result.data.email){
throw ('New exception');
}
console.log(result);
jQuery('.email').html(result.data.email);
}
});
jQuery('.surveryButton').click(function(){
window.location.replace("http://" + pgInventory.host + pgInventory.path + leadInfo[0] + "&curLeadId=" + leadInfo[1] + "&curViewedPages=0");
});
}
catch(err) {
jQuery('.email').html('your e-mail address');
jQuery('#arrowContent').remove();
}
});