Handling parsing errors on a per feature file basis

Currently when using the JUnit runner, if you run a test that contains a feature file that is not syntactically correct, an exception is thrown and no scenarios are run.
It would be nice if the invalid feature was treated as a failed test so that the correct features are still run.

Given a JUnit test
And multiple syntactically valid feature files
And one syntactically invalid feature file
When the test is run
Then the output should display one failure for the invalid feature file
And success and failure counts for the valid feature file

I've implemented this in a way that works for us when using cucumber-reports, I'd love some feedback