Учитывая, что у вас есть такой код:
doSomething() // this method may throw a checked a exception
//do some assignements calculations
doAnotherThing() //this method may also throw the same type of checked exception
//more calls to methods and calculations, all throwing the same kind of exceptions.
Теперь я знаю, что на самом деле производительность возникает при построении исключения, особенно для разворачивания стека. И я также прочитал несколько статей, указывающих на небольшой удар производительности при вводе блоков try/catch, но ни одна из статей, похоже, ничего не делает.
Мой вопрос: рекомендуется ли поддерживать строки внутри try catch до минимума?, то есть ТОЛЬКО внутри предложения try использовать строки, которые могут реально генерировать исключение, которое вы ловите. Кодирует ли код внутри предложения try медленнее или вызывает любую производительность?
Но более важно то, что это лучшее/более читаемое решение, рассматривающее это:
try {
doSomething() // this method may throw a checked a exception
//do some assignements calculations
doAnotherThing() //this method may also throw the same type of checked exception
//more calls to methods and calculations, all throwing the same kind of exceptions.
}
catch (MyCheckedException e) {
//handle it
}
или:
try {
doSomething() // this method may throw a checked a exception
}
catch (MyCheckedException e) {
//Store my exception in a Map (this is all running in a loop and I want it to continue running, but I also want to know which loops didn't complete and why)
continue;
}
//do some assignements calculations
try {
doAnotherThing() // this method may throw a checked a exception
}
catch (MyCheckedException e) {
//Store my exception in a Map (this is all running in a loop and I want it to continue running, but I also want to know which loops didn't complete and why)
continue;
}
Это предполагает, что вы будете обрабатывать ВСЕ эти проверенные исключения точно так же, как, конечно.