常见错误
语法错误
SyntaxError: invalid syntax 这段语句就是常见的语法错误
# 这边错误原因是if代码后面需要以:结尾,但是这边没有
num = input('请输入密码:')
if len(num) >= 5
print('密码位数输入正确')
else:
print("密码位数输入不正确,请重新输入")
File "E:\python_test\Reptile Fiction\fiction.py", line 10
if num >= 5
^
SyntaxError: invalid syntax
输入错误
TypeError 这个是输入错误的单词
# 错误原因:num是字符串,但下面的if语句用num与数字比较,所以不对
num = input('请输入密码:')
if num >= 5:
print('密码位数输入正确')
else:
print("密码位数输入不正确,请重新输入")
Traceback (most recent call last):
File "E:\python_test\Reptile Fiction\fiction.py", line 13, in <module>
if num >= 5:
TypeError: '>=' not supported between instances of 'str' and 'int'
异常捕获
定义一个try except finally语句,把不确定的代码写入try里面,有异常就会执行except,最终都会执行finally语句
#1、异常捕获
try:
pass
except Exception as e: #可以指定很细的异常如ValueError,也可以都捕获用Exception
pass #有异常会执行
else:
pass #没异常时执行
finally:
pass #都最终会执行
#2、异常抛出 raise
def raise_num(num):
if num<100:
raise ValueError(f"值错误:{num}")
else:
print("可输入的数字不能大于等于100")
raise_num(40) #ValueError: 值错误:40
自定义异常(了解)
#3、自定义异常
class MyException(Exception):
def __init__(self,value):
self.value=value
def __str__(self):
return repr(self.value)