22 - 오류 및 예외 처리
python에는 모두 두 가지 오류가 있습니다. 하나는 문법 오류이고, 다른 하나는 이상입니다.
문법 오류
문법 오류도 해석 오류라고도 부른다.python이 코드를 정확하게 식별하지 못해 생긴 것이다.근본적인 원인은 사람의 행위: 손, 뇌, 눈의 행위에 있다.
해결 방법: 정확한 문법에 따라 글을 쓰면 이런 잘못이 없다!
유난히
이상이란 문법이 정확한 전제에서 프로그램의 오타가 이상이라는 것을 가리킨다.
프로그램에 이상이 있을 때 단독으로 존재하는 대상은 가져오거나 다른 조작을 할 수 있습니다
비정상적 분류
AssertError (assert)
AttributeError
EOFError EOF(Ctrl+d)
FloatingPointError
GeneratorExit generator.close()
ImportError
IndexError
KeyError
KeyboardInterrupt (Ctrl+c)
MemoryError ( )
NameError
NotImplementedError
OSError ( )
OverflowError
ReferenceError (weak reference)
RuntimeError
StopIteration
SyntaxError Python
IndentationError
TabError Tab
SystemError Python
SystemExit Python
TypeError
UnboundLocalError (NameError )
UnicodeError Unicode (ValueError )
UnicodeEncodeError Unicode (UnicodeError )
UnicodeDecodeError Unicode (UnicodeError )
UnicodeTranslateError Unicode (UnicodeError )
ValueError
ZeroDivisionError
일반적인 오류 작업:
IndexError 인덱스 오류
lists = [1,3,6]
print(lists[3])
KeyError 키가 없습니다.
dicts = {'gp':' ','cr':' ','tw':' '}
print(dicts['zj'])
nameError 변수가 없습니다.
print(ch)
AssertError 단언 오류
assert 1>0
assert 3>5
IndentationError 들여쓰기 오류
def myfunc():
print(' ')
print(' ')
오류 예외 처리
try:
,
,
,
except 1:
1:
except 2:
2:
except ( 1, 2...)
:
excpet:
:
else:
,
finally:
프로세스:
try:
。
, , else
, ,
except 1:
try , , 。( )
try ,
except 2:
try , , 。( )
try ,
except 3:
try , , 。( )
try ,
...
except ( 4, 5,...)
try , , 。( )
try ,
except: #
except , , ( )
else:
try , else ( )
finally:
,
사용자 정의 오류와 사용자 정의 버퍼 오류
사용자 정의 비정상 던지기 작업
raise
사용자 정의 예외 클래스:
class (RuntimeError):
# ( )
def __init__(self,errormsg...):
# , ,
self.errormsg = errormsg
...
pass
try에서...except에서 예외 대상 수락
try:
except as :
except as :
....
with 문법
파일 작업에서 파일의 사용 상태를 모니터링하고 파일이 사용되지 않을 때 자동으로 파일 작업을 닫습니다.
파일 작업
try:
# 1.txt
with open('1.txt','r') as fp:
#
text = fp.read()
print(text)
except:
print(' !')
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.