Я новичок в Java и исключениях в целом.
В мои предыдущие дни программирования на C / Perl, когда я писал библиотечную функцию, ошибки передавались обратно с помощью логического флага плюс какая-то строка с понятным для человека (или удобным для программиста) сообщением об ошибке. В Java и C ++ есть исключения, что удобно, поскольку они включают трассировки стека.
Я часто обнаруживаю, что когда я перехватываю исключение, я хочу добавить свои два цента, а затем передать их.
Как это можно сделать? Я не Я не хочу выбросить всю трассировку стека ... Я не знаю, насколько глубоко произошел сбой и по какой причине.
У меня есть небольшая служебная библиотека для преобразования дорожки стека (из объекта Exception) в строку . Думаю, я мог бы добавить это в свое новое сообщение об исключении, но это похоже на взлом.
Ниже приведен пример метода. Советы?
public void foo(String[] input_array) {
for (int i = 0; i < input_array.length; ++i) {
String input = input_array[i];
try {
bar(input);
}
catch (Exception e) {
throw new Exception("Failed to process input ["
+ ((null == input) ? "null" : input)
+ "] at index " + i + ": " + Arrays.toString(input_array)
+ "\n" + e);
}
}
}