enhanced ThrowsException, added FunctionUtil