Я новичок в 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);
}
}
}