Techvenience

Technology × Convenience - Vue / React / Next / Nuxt / ChatGPTなどのIT技術がもたらす便利さをお伝えします。最近はChatGPTなどのAI技術を使ってブログを書いています。

【Java】BigDecimalやIntegerに変換できるかどうかを確認する【NumberFormatException】

【Java】BigDecimalやIntegerに変換できるかどうかを確認する【NumberFormatException】

f:id:duo-taro100:20160218004611p:plain

ユーザー入力値を

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) {  
	    // 変換できない時の処理
	}