在try / except bloc

时间:2018-02-19 10:50:18

标签: python debugging try-except

我'学习Python,我想知道在我的try / except bloc中使用if语句改进我的代码是否具有轻的调试级别可能是一个好习惯,或者是否有更好(或内置)的方法来做到这一点。

#!/usr/bin/env python3
""" Testing conditions in try/except """

DEBUG_MODE = True
number = input("Type a integer: ")

try:
    number = int(number)
except ValueError as except_detail:
    if DEBUG_MODE:
        print("ValueError: «{}»".format(except_detail))
    else:
        print("«{}» is not an integer".format(number))            
else:
    print("Your number {} is an integer".format(number))

我使用布尔值,但调试级list()的工作时间超过2级。

使用调试级别特定的日志记录指令也可以改进错误报告。

2 个答案:

答案 0 :(得分:1)

您可以使用Python的logging模块,您可以更改日志记录level参数以记录所需的日志记录详细信息级别:

import logging

logging.basicConfig(filename='log.txt', filemode='a', level=logging.DEBUG)

try:
    number = int(number)
except ValueError as except_detail:
    logging.warning("ValueError: «{}»".format(except_detail))
    logging.info("«{}» is not an integer".format(number))         
else:
    logging.info("Your number {} is an integer".format(number))

答案 1 :(得分:0)

标准库具有针对此设计的日志记录模块:https://docs.python.org/2/library/logging.html内置日志级别调试,信息,警告,错误,关键