【Java】BigDecimalやIntegerに変換できるかどうかを確認する【NumberFormatException】
ユーザー入力値を
new BigDecimal(入力値)
するときに、入力値がBigDecimalに変換できない場合があってエラー(NumberFormatException)となります。
入力値がBigDecimalに変換できるかどうかを確認する方法はどんなものがあるか考えたけど、下記のようにNumberFormatExceptionをcatchする方法で実施しました。
NumberFormatExceptionをcatchする
// リクエストパラメータ(param)からString型の何かを受け取る String id = param.getId(); try { // idが変換できなければNumberFormatExceptionが投げられる BigDecimal decimalId = new BigDecimal(id); } catch (NumberFormatException e) { // 変換できない時の処理 }