Идея, лежащая в основе проверенных исключений, заключается в том, что они позволяют вызывающей функции узнать, какие исключения могут уйти от нее. Вам не нужно на самом деле перехватывать FileNotFoundException
, если вы этого не хотите, при условии, что вы добавили throws FileNotFoundException
к сигнатуре вашего метода, чтобы сообщить вызывающей стороне, что такое исключение может сбежать из вашего метода.
Эта концепция хороша, но, к сожалению, нет четкого способа заявить, что вы хотите перехватить все не слишком строгие исключения и обернуть их в общий тип исключений для вашего вызывающего. Во многих случаях, когда возникает исключение, реальное сообщение, которое вы хотите передать, это либо «метод не завершен, но система, похоже, не загорелась, а побочные эффекты отменены», либо «метод не завершен, и система, кажется, не горит, но могли быть и другие побочные эффекты». Было бы полезно, если бы существовал краткий синтаксис для указания областей кода, где исключения должны быть перехвачены и перенесены в один из вышеуказанных форматов, но, увы, нет.