Если вы думаете в терминах «Ошибки» и «Предупреждения», мне очень повезло, когда я зарезервировал события для категории «Предупреждение» и Исключения для категории «Ошибки».
Смысл в том, что события необязательны. Никто не приставляет пистолет к твоей голове, заставляя тебя обращаться с ними. Это, вероятно, хорошо для предупреждений, но когда у вас есть подлинные ошибки, вы хотите убедиться, что они воспринимаются немного серьезнее. Исключения должны обрабатываться , иначе они всплывают и создают неприятное сообщение для пользователя.
Что касается вашего Big Object вопроса: вы определенно не будете передавать большие объекты вокруг, но это не значит, что вы не можете передать ссылки на большие объекты вокруг , В способности сделать это много силы.
Как дополнение, ничто не мешает поднять событие в дополнение к исключению, но снова: если у вас есть подлинная ошибка, вы хотите, чтобы что-то заставило разработчика клиента ее обработать. *