Kiedy złapać wyjątek vs kiedy rzucić wyjątki?

Od jakiegoś czasu koduję w Javie. Ale czasami nie rozumiem, kiedy powinienem rzucić wyjątek i kiedy powinienem złapać wyjątek. Pracuję nad projektem, w którym jest wiele metod. Hierarchia to coś w tym stylu

Method A will call Method B and Method B will call some Method C and Method C will call Method D and Method E.

Tak więc obecnie robię - rzucam wyjątki we wszystkich metodach i łapię je w Metodzie A, a następnie loguję jako błąd.

Ale nie jestem pewien, czy będzie to właściwy sposób, aby to zrobić? Czy powinienem zacząć łapać wyjątki we wszystkich metodach. Dlatego właśnie to zamieszanie zaczęło się w moim… Kiedy powinienem złapać wyjątek vs Kiedy powinienem rzucać wyjątki. Wiem, że to głupie pytanie, ale jakoś usiłuję zrozumieć tę ważną koncepcję.

Czy ktoś może mi podać szczegółowy przykładWhen to catch the Exception vs When to throw the Exceptions tak, aby moje koncepcje zostały w ten sposób wyjaśnione? A w moim przypadku, czy powinienem nadal rzucać wyjątek, a następnie przechwycić go w głównej metodzie wywoływania A?

questionAnswers(7)

yourAnswerToTheQuestion