Python中的错误与异常处理(Error & Exceptions)

Python有两种错误类型:

1. 语法错误(Syntax Errors)

2. 异常(Exceptions)

例1:

处理异常(Handling Exceptions)
#Example of Syntax errors
#while True print("Hello World!")    #缺少冒号,正确的语法:while True: print("Hello World!")

#Examples of exceptions
#print(8/0)           #分母不能为0
#print(hello * 4)       #name 'hello' is not defined

# num = 6
# print("Hello World " + num)    #正确的方式:print("Hello World " + str(num))

#Handling exceptions
while True:
    try:      #将可能出现异常的代码放到"try:"之后,如果出现异常利用except来处理异常
        x = int(input("Please enter a number"))    #当用户输入字母或字符串之后将会出现异常
        break
    except ValueError:
        print("Not valid input, try again...")

注:

首先,try语句下的(try和except之间的代码)被执行

如果没有出现异常,except语句将被忽略
如果try语句之间出现了异常,try之下异常之后的代码被忽略,直接跳跃到except语句

如果异常出现,但并不属于except中定义的异常类型,程序将执行外围一层的try语句,如果异常没有被处理,将产生unhandled exception的错误

例2:

try:
    f = open('myfile.txt')
    s = f.readline()
    i = int(s.strip())    #strip()读取字符串之后把起始的空格全部删掉
except OSError as err:      #当myfile.txt文件不存在时,将会报错
    print("OS error: {0}".format(err))
except ValueError:          #文件存在,但是文件内的内容不合法时将会报错
    print("Could not convert data to an integer.")

猜你喜欢

转载自blog.csdn.net/qlulibin/article/details/79742260