Мы используем библиотеки http://jedi.codehaus.org для работы с коллекциями и их функционального управления.Недавно мы столкнулись с проблемой, когда выполняли что-то похожее на следующее:
public class Address {
//constructors and stuff
public KiloWatts electricityConsumed(Duration timePeriod) throw NoElectricitySupply {
.... does stuff but can throw checked exception
}
}
, учитывая, что у нас есть коллекция адресов, и мы хотели выполнить что-то на UnitsOfElectricity, связанном с каждым адресом, как бы вы справились с брошеннымНапример:
public KiloWatts totalEnergyConsumed(Address... addresses, final Duration timePeriod) {
List<KiloWatts> energyConsumedPerAddress = FunctionalPrimitives.collect(addresses, new Functor<Address, KiloWatts>{
public KiloWatts execute(Address address){
try {
return address.energyConsumed(timePeriod);
} catch (NoElectricitySupply e) {
//What do you do here?
}
}
});
}
Как бы вы обработали исключение?