Como diz o ditado, existem circunstâncias imprevistas Quando escrevemos programas, nem sempre é fácil. Algumas situações anormais ocorrem frequentemente. Por exemplo, quando vamos sair para assistir a um filme, primeiro saímos e depois caminhamos. para o cinema e depois terminamos de assistir. Fomos às compras depois de assistir a um filme e voltamos para casa. Porém, depois de assistir ao filme, descobrimos que estava chovendo lá fora. A chuva aqui é uma situação anormal, então criamos o programa É hora de adicionar esta solução de tratamento de exceções.
Vejamos primeiro um problema de exceção . O código é o seguinte:
número=int(input('Por favor, insira um número:'))if15/número>=3:print('ok')else:print('errado')
Resultado de saída:
Por favor, insira um número: 3ok Por favor, insira um número: 15wrong Por favor, insira um número: 0Traceback(mostrecentcalllast):FileC:/Users/test.py,line2,in<module>if15/number>=3:ZeroDivisionError:divisionbyzero
Quando o denominador que inserimos for 0, descobriremos que o programa reporta um erro, o que significa que há um problema com o programa que escrevemos. Como não consideramos o que fazer quando o denominador é 0, ocorreu uma exceção no programa. , então escrevemos o programa Você precisa levar em consideração algumas situações anormais que podem ocorrer. Vamos aprender sobre várias situações anormais comuns.
Esta é uma exceção que ocorre ao acessar uma chave de dicionário e o valor da chave não existe.
O código é o seguinte:
meu_dict={'dotcpp':123}print(meu_dict['ponto'])
A exceção é a seguinte:
Traceback(mostrecentcalllast):FileC:/Users/test.py,line2,in<module>print(my_dict['dot'])KeyError:'dot'
Esse tipo de exceção é mais comum quando aprendemos Python. Quando acessamos elementos de sequência , esse mecanismo de exceção será acionado quando o valor do índice exceder o intervalo.
minha_lista=[1,2,3,4,5]imprimir(minha_lista[100])
A exceção é a seguinte:
Traceback(mostrecentcalllast):FileC:/Users/test.py,line2,in<module>print(my_list[100])IndexError:listindexoutofrange
Existem apenas 5 elementos em nossa lista, e esta exceção será lançada caso o acesso ultrapasse o limite.
Esta exceção é lançada quando usamos uma variável indefinida , o código é o seguinte:
name=['www.dotcpp,com']print('Nome da variável existente:',name)print('Variável não existente dotcpp:',dotcpp)
A exceção é a seguinte:
Nome da variável existente:['www.dotcpp,com']Traceback(mostrecentcalllast):FileC:/Users/Qingyan/PycharmProjects/untitled1/teach/test.py,line3,in<module>print('Variável não existente dotcpp: ',dotcpp)NomeError:nome'dotcpp'não está definido
Esta exceção ocorre quando os dados passados são inconsistentes com o tipo especificado. Por exemplo, quando queremos somar e subtrair dois inteiros, e um deles usa um tipo string, este erro ocorrerá.
O código é o seguinte:
a=10b='dotcpp'imprimir(a+b)
A exceção é a seguinte:
Traceback(mostrecentcalllast):FileC:/Users/test.py,line3,in<module>print(a+b)TypeError:unsupportedoperandtype(s)for+:'int'and'str'
Os itens acima são algumas das exceções mais comuns. Podemos encontrar ValueError, OSError, AttributeError e outras exceções no processo de aprendizagem. Quando encontramos uma exceção que não reconhecemos, podemos consultar o conteúdo relevante por meio do documento de ajuda.