Bug的由来
什么是异常?
基本语法
try:尝试执行的代码except:出现错误的处理
try:num = int(input("请输入数字:"))print(num)except:print("请输入正确的数值类型")
错误类型捕获
程序运行过程中,遇到的异常类型很可能是不同的,需要针对不同类型的异常,做不同的响应
try:passexcept 错误类型1:passexcept 错误类型2:passexcept Exception as e:print("未知错误 %s" % e)else:print("没有异常才会执行的代码")finally:print("不论是否异常都会执行的代码")
fruits = ["Apple", "banana", "pear", "orange"]try:print(hi)except TypeError:print("类型错误")except IndexError:print("下标索引错误")except Exception as e:print("未知错误 %s" % e)else:print("没有异常才会执行的代码")finally:print("不论是否异常都会执行的代码")
抛出raise异常
在开发过程中,除了代码执行错误Python解释器会抛出异常之外,还可以根据业务需求主动抛出异常。
def check_passwd():passwd = input("请输入你的密码: ")if len(passwd) >= 8:return passwdraise Exception("密码长度至少8位")try:passwd = check_passwd()print(passwd)except Exception as e:print("错误类型为:", e)
使用traceback模块打印异常信息import tracebacktry:print(10 / 0)except:traceback.print_exc()
总结