- moneta-core-1.4.4.jar
- money-api-1.1.jar
Дело в том, что случайным образом, скажем, в 5 % случаев, когда я пытаюсь использовать FastMoney.of(), я получаю исключение, приведенное ниже.
Простой вызов, который иногда завершается неудачей:
Код: Выделить всё
amount = FastMoney.of(
amount.value,
amount.currency,
),
Код: Выделить всё
"exception": "java.lang.ExceptionInInitializerError: Exception javax.money.UnknownCurrencyException: Unknown currency code: foo [in thread \"Thread-572\"]
at javax.money.spi.MonetaryCurrenciesSingletonSpi.getCurrency(MonetaryCurrenciesSingletonSpi.java:78)
at javax.money.Monetary.getCurrency(Monetary.java:382)\n\tat org.javamoney.moneta.FastMoney.(FastMoney.java:119)
Я проверил код и предполагаю, что, поскольку DefaultMonetaryCurrencySingletonSpi::getDefaultProviderChain() возвращает список провайдеров в ПРОИЗВОЛЬНОМ порядке, некоторые из моих провайдеров могут не распознать «код валюты», но, к сожалению, не могут этого доказать.
Я ожидаю FastMoney.of(1, "EUR") всегда работает.
Подробнее здесь: https://stackoverflow.com/questions/786 ... y-code-foo
Мобильная версия