fix handling InvocationTargetException
refactor