Reposting to the list.

--- Asrarahmed Kadri <[EMAIL PROTECTED]> wrote:

> > >            except ValueError:
> > >                flag = False
> > >                startdate = None
> > >                enddate = None
> > >                err_msg = traceback.format_exc()
> > >                index = string.find(err_msg,'Value')
> > >                print err_msg[index:]
> > >                return (flag,startdate,enddate)
> >
> >Since this block is essentially identical to the except
> >block above you could package them both as a function 
> >which would shorten the code a little.

> It might seem silly, but can you just give a hint as to how to
> put the code in a function..

def handleValueError():
    flag = False
    startdate = None
    enddate = None
    err_msg = traceback.format_exc()
    index = err_msg.find('Value')
    print err_msg[index:]
    return (flag,startdate,enddate)

And in your code above:

except ValueError:
    return handleValueError()

> > It would be better to raise a ValueError which can be caught
> > by the external program:

> How to catch the exception from one module into another ..???

Just use try/except as usual. There is no difference 
to exceptions thrown by your code and the ones thrown 
by the standard Python functions. Consider:

####### module.py #######

def f():
   raise ValueError

##########################

###### main.py ##########
import module

try:
   module.f()
except ValueError:
   print "It broke!"

#########################

Is that clear?

Alan G





        
        
                
___________________________________________________________ 
All new Yahoo! Mail "The new Interface is stunning in its simplicity and ease 
of use." - PC Magazine 
http://uk.docs.yahoo.com/nowyoucan.html
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to