TypeError not caught by except statement

Alf P. Steinbach alfps at start.no
Mon Jan 25 03:55:45 EST 2010


* siddu:
> Hi,
> 
> except not able to caught the TypeError exception occured in the below
> code
> 
>         log.info("refer",ret) in the try block
> 
> throws a TypeError which is not caught .
> Also sometimes process is getting hanged.
> 
> ------------------------------------------------------------------------------------------------------------------------------------------------
> import logging
> log = logging.getLogger()
> fileName = strftime("%d-%b-%Y-", gmtime()) + str(int(time.time())) + "-
> Log.log"
> log = logging.getLogger()
> log.setLevel(logging.NOTSET)
> fh = logging.FileHandler(logFile)

Where does 'logFile' come from.


> logFileLevel = logging.DEBUG
> fh.setLevel(logFileLevel)
> format_string = '%(process)d %(thread)d %(asctime)-15s %(levelname)-5s
> at %(filename)-15s in %(funcName)-10s at line %(lineno)-3d "%(message)
> s"'
> fh.setFormatter(logging.Formatter(format_string))
> log.addHandler(fh)
> 
> try:
>     log.info("start")
>     log.info("refer",ret)
>     log.info("end")
> except TypeError:
>     log.exception("Exception raised")

Try to reduce the example to a small, complete program that exhibits the problem.



> 
> ----------------------------------------------------------------------------------------------------------------------------------------------
> OUTPUT message:
> 
> Traceback (most recent call last):
>   File "C:\Python26\lib\logging\__init__.py", line 768, in emit
>     msg = self.format(record)
>   File "C:\Python26\lib\logging\__init__.py", line 648, in format
>     return fmt.format(record)
>   File "C:\Python26\lib\logging\__init__.py", line 436, in format
>     record.message = record.getMessage()
>   File "C:\Python26\lib\logging\__init__.py", line 306, in getMessage
>     msg = msg % self.args
> TypeError: not all arguments converted during string formatting

Is this a complete listing?


CHheers & hth.,

- Alf



More information about the Python-list mailing list