TypeError not caught by except statement
Steve Holden
steve at holdenweb.com
Tue Jan 26 11:54:23 EST 2010
siddhartha veedaluru wrote:
> Hi,
>
> except not able to caught the TypeError exception occured in the below
> code
>
> log.info <http://log.info>("refer",ret) in the try block
>
> throws a TypeError which is not caught .
The traceback you provide does not show the line in question, so I am
confused as to why you would think it was causing the problem. The
purpose of the traceback is to show you where the exception occurred,
and I question whether that is happening here.
Anyway, I suspect your error might go away if you turned the first
argument of hte log.info() call into a format string such as
log.info("refer: %s", ret)
regards
Steve
> 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)
> 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 <http://log.info>("start")
> log.info <http://log.info>("refer",ret)
> log.info <http://log.info>("end")
> except TypeError:
> log.exception("Exception raised")
>
> ----------------------------------------------------------------------------------------------------------------------------------------------
> 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
>
--
Steve Holden +1 571 484 6266 +1 800 494 3119
PyCon is coming! Atlanta, Feb 2010 http://us.pycon.org/
Holden Web LLC http://www.holdenweb.com/
UPCOMING EVENTS: http://holdenweb.eventbrite.com/
More information about the Python-list
mailing list