custom reports can throw exceptions