If that is what the whole main function is doing, creating Ephemeral object, and HO already predicted those IOExceptions way in advance, then it definitely means there is a good probablity of that happening.
That's not a very scientific approach.
The programmer might have added the throws clause cause he already expects the possibility that main() might throw an IOException in future revisions.
For example if he plays with the String[] args, that object might throw a child of IOException with certain charset operations :O