"Kirk Bailey" <[EMAIL PROTECTED]> wrote > Try: > filename=sys.arv[1] > except Exception, e:
This still doesn't help for the problem where a different exception is raised.It really does need to be try: filename = sys.argv[1]: except IndexError: > if filename='': > filename='foo' # define a default value > else: > if foo: # detect one likely error > foobarcode > else: This is invalid syntax it would need to be a chain of if/elif/else > another idea is simply detect that there IS a argument; > > if sys.argv[1]; > filename=sys.argv[1] > ... > which avoids try altogether. Somehow I kinda like this way more. This would still throw an exception if argv[1] doesn't exist because the code still tries to access non existent data. You cannot get away without using the try/except here unless you check the length of argv: if len(sys.argv) > 1: filename = sys.argv[1] Now you can check whether filename is valid or not. HTH, -- Alan Gauld Author of the Learn to Program web site http://www.freenetpages.co.uk/hp/alan.gauld _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor