Здравствуйте, AlexRK, Вы писали:
ARK>Не совсем так:
Совсем.
ARK> protected abstract void ProcessInternal(MyItem item) throws Error; // видим возможность вылета и можем найти по Ctrl-F
Не видим, так как тебе этими типами нужно будет утыкать все возвращаемые значения всех функций вызывающие эту.
ARK> public void Process() throws Error // видим возможность вылета и можем найти по Ctrl-F
Это вообще пипец! И об этом тебе уже говорили. Явские checked exception доказали свою полную непригодность для реальной жизни. Геморрой вызываемый ими нивелируют все их гипотетические преимущества.
ARK> try!(ProcessInternal(item)); // видим возможность вылета и можем найти по Ctrl-F
Не видим, так как этим дело мужно обложить каждую строчку кода. По сути — это закат солнца вручную (эмуляция исключений на кодах возврата). Вот это ваше try!() — это чистой воды болерплэйт. Просто его немного засахарили.
ARK> // здесь _myArray оказался в неизвестно каком состоянии
Вранье! Здесть или не будет управления или он будет в испорченном состоянии, но мы не будет знать об этом, так как где-то выше проигнорировали или неверно обработали код возврата.
ЗЫ
Итого, мне очевидно, что ты не смог доказать ни одного из своих утверждений. Мой тебе совет признать ошибочность своего мнения, а не упираться рогом.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.