If function X throws a checked exception (documenting it in its doc comment with @throws), then anything calling X should either catch the exception, or document it with @throws in its own doc comment.
Phan can check this using the warn_about_undocumented_exceptions_thrown_by_invoked_functions option, so this should be enabled in our config.