出戻りSEの楽しい育児日記

ごく普通のSEの育児とお仕事の日記 たいしたことは書いてない

barcode4jでチェックディジットが不一致だとIllegalArgumentExceptionになる

 

リリースを明後日に控えたある日、本番環境で突如発生した
java.lang.IllegalArgumentException: Checksum is bad (0). Expected: 4」。
知っている人なら↑みてピンときそうなものの、
寡聞にしてバーコードの生成処理に詳しくないので、
使用していた「barcode4j」のクラスファイルをデコンパイルするに至りました。

……DBに持ってる文字列でバーコード画像を作る処理だったんですが、
お客さんが間違ったデータ打ち込んだだけだった……

チェックディジットのアルゴリズムは↓でお勉強しました。
http://www.dsri.jp/jan/check_digit.html

 

世の中知らないことがいっぱいだな~~(白い目)