2014/09/02

[java]自分で60点くらいの例外処理を考えよう (2)

どうエラーを返すか、の前に、もうちょっとチェック例外のことを考えたい。
今作ろうとしているのは、NfcAクラスに対するMifareUltralightクラスのようなもので、そのFeliCa Lite版だ。

  • close
  • connect
  • get
  • getMaxTransceiveLength
  • getTag
  • getTimeout
  • getType
  • isConnected
  • readPages
  • setTimeout
  • transceive
  • writePage

赤文字が、追加されたメソッド。
NfcAにあるgetAtqa()なんかがないのは、NfcAを継承してないから。

TagTechnology > BasicTagTechnology、という継承になってるんだけど、BasicTagTechnologyはpublicがついてないから、私から使うことができない(のよね? 勝手にandroid.nfc.techなんてパッケージ名付けてもだめだと思ってるが)。


私が追加したいのも、こういうやつで、FeliCa Liteのブロックにアクセスする処理だ。
迷っているのは、こういう内部のAPIを使って機能を実現するやつ。
transceive()を使うけど、それはIOExceptionを投げる。
じゃあ、使ったAPIもIOExceptionを投げた方がよいか、隠蔽した方がよいか。

MifareUltralightクラスは、ほぼそのままにしている。
transceive()の返すIOExceptionもあるが、checkConnected()の返すIllegalStateExceptionもそのまま。
実行時例外はスルーして上まで投げて、チェック例外はやった方がよいなら自分でチェックするし、そうじゃないと思ったらthrowsして上に投げる、という判断なのかな。

 

圧倒的に、Javaソースを眺めている経験値が足りないですわ-。
今はAndroidのNFCのソースしか見てないという、視野が非常に狭い状況だから、またどっかで混乱するんだろうな。
まあ、足場がないと混乱もできないから、以前よりはよくなったと前向きに考えよう。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。