why we need to remove all `@throws`?