From: Adam Penny Date: 2008-10-19T03:21:25+09:00 Subject: Handling invalid options with OptionParser Hi there, I wrote my own Wake on Lan Script in ruby that uses a Plist to look up either target Mac address by selected printer or target MAC address by server and I use option parser for this. It all works fine if the arguments are input correctly, but if the arguments are off you get something like this. -x is not declared in my options and was a test to see how it did when it got something that it didn't recognize. ruby test.rb -x /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/optparse.rb:1443:in `complete': invalid option: -x (OptionParser::InvalidOption) from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/optparse.rb:1441:in `catch' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/optparse.rb:1441:in `complete' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/optparse.rb:1280:in `parse_in_order' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/optparse.rb:1247:in `catch' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/optparse.rb:1247:in `parse_in_order' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/optparse.rb:1241:in `order!' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/optparse.rb:1332:in `permute!' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/optparse.rb:1353:in `parse!' from test.rb:4 It's not the end of the world as if the options are wrong then it won't do anything anyway, but I was wondering if anyone could tell me if there's any method in the class or extra thing I could do to catch dodgy arguments and output the help file or the banner rather than this inelegant list of errors? Thanks in advance. -- Posted via http://www.ruby-forum.com/.