ArithmeticException については, 明示的にチェックしている実装とそうでない実装がある (See: here for details).
sparc の場合:
idiv/irem, ldiv/lrem の全てのケースについて, 明示的にチェックしている (なんで?? #TODO).
x86_64 の場合:
idiv/irem については, シグナルハンドラで検出しているが, ldiv/lrem については, 明示的にチェックしている.
(signal handler で int だったか long だったかを切り分けるのが面倒だから?? #TODO)
(See: here for details)
(See: here for details)
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.