cea8792 Revamp both exceptions and test cases.