Ну да. Что бы ни произошло в методе load, это не затронет состояние, пока работа не будет завершена. Сначала делаем все операции, которые могут привести к ошибке, потом меняем состояние (тут уже ошибок быть не может).
Хотя конкретно тот мой код просто пример, а не реальный код.