In fact it was simpler - just call the new method of Config::General in an eval block and then check $@ !
but this got me looking at __DIE__ and I have a use for that. I can trap the message etc. but other than doing an exit from my routine, I can't find a way of stopping Perl printing the die message.