Zastąp sprawdzony wyjątek wyjątkiem czasu wykonywania?
Biorąc pod uwagę, że zasadniczo chcę wyeliminować sprawdzone użycie wyjątków i przekształcić je w wyjątki czasu wykonywania, normalnie robiłbym coś takiego:
try {
file.read();
} catch (IOException e){
throw new RuntimeException(e);
}
Jest to kilka wad, ale najbardziej denerwuje mnie to, że mój wyjątek czasu wykonywania zawiera zagnieżdżony stacktrace. Zasadniczo chciałbym ponownie rzucić „IOException” jako wyjątek RuntimeException (lub „IORuntimeException”) z oryginalną wiadomością i stacktrace, dzięki czemu mogę uniknąć bezużytecznego zagnieżdżonego śledzenia stosu. „Fakt”, że rzuciłem wyjątek gdzieś w środku, wydaje mi się po prostu bezużytecznym hałasem.
Czy to możliwe ? Czy istnieje biblioteka, która to robi?