在 try/except 块中添加 if 语句
Adding if statement in a try/except bloc
我正在学习 Python,我想知道在我的 try/except 集团中使用带有 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 个以上的级别。
错误报告也可以通过特定于调试级别的 日志记录指令得到改进。
标准库具有为此设计的日志记录模块:https://docs.python.org/2/library/logging.html 内置日志级别调试、信息、警告、错误、严重
您可以为此使用 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))
我正在学习 Python,我想知道在我的 try/except 集团中使用带有 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 个以上的级别。
错误报告也可以通过特定于调试级别的 日志记录指令得到改进。
标准库具有为此设计的日志记录模块:https://docs.python.org/2/library/logging.html 内置日志级别调试、信息、警告、错误、严重
您可以为此使用 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))