Exception-Based Information Flow Control in Object-Oriented Systems