Кажется, что ваша страница iframe действительно не загружается во второй раз. Или он загружается из кеша и ошибка игнорируется. Это интересно, но я думаю, что нашел способ обойти это.
function setContent() {
try {
console.log("Loading iframe content");
document.getElementById('iframe').src = 'iframe-content.html?foo=bar';
} catch (e) {
console.log("Caught", e);
}
console.log("Done loading");
}
При этом должна появиться ошибка.
Что я сделал, так это обманул браузер, чтобы он думал, что я загружаю новую страницу, так как параметры после изменения URL-адреса.
'iframe-content.html?foo=bar';
Вы можете заменить мою строку "bar" изменяющейся отметкой времени. Конечно, это позволит избежать кэша, но также вынудит его генерировать ошибку, как вы и хотели.