찾다
백엔드 개발파이썬 튜토리얼파이썬 예외와 오류의 차이점

파이썬 예외와 오류의 차이점

오류 및 예외 개념

오류:

1. 구문 오류: 코드가 인터프리터 또는 컴파일러 구문을 따르지 않습니다

2. 논리 오류: 불완전하거나 잘못된 입력 또는 계산 문제

Exception: 실행 중에 문제가 발생하여 프로그램이 실행되지 않습니다

1. 프로그램에 논리 또는 알고리즘 문제가 발생했습니다

2. 작업 중 컴퓨터 오류(메모리 부족 또는 IO 오류) )

오류와 예외의 차이

Error:

코드 실행 전 구문 또는 논리 오류 , #🎜🎜 #

구문 오류는 실행 전에 수정되고, 논리적 오류는 수정할 수 없습니다.

예외는 두 단계로 구분됩니다.

1. 예외가 생성됩니다. 오류가 감지되고 통역사는 예외라고 생각하고 예외를 발생시킵니다.

2. 예외 처리, 예외 가로채기, 예외 처리를 위해 프로그램 무시 또는 종료

Python 일반적인 오류

Common Error:

under ipython 1. a : NameError

직접 참조

정의되지 않음 2. if True : SyntaxError#🎜 🎜#

Syntax error

3. f = open('1.txt') : IOError

시도할 때 존재하지 않는 파일 열기#🎜🎜 #

4. 10/0 : ZeroDivisionError

5. a = int('dd') : ValueError

강제 유형 변환을 수행할 때 오류 발생

try--예외 처리 제외 (1)

try-제외: 예외 처리

try:
    try_suite
except Exception [, e]:
    exception_block

1.try try_suite에서 오류를 캡처하고 오류를 Except

2에 전달하는 데 사용됩니다. 예외 처리는 캡처된 예외 설정과 일치하는 경우 예외를 처리하는 데 사용됩니다.

예: #🎜🎜 #
try:
    a
except Exception, e:
    print e

try-제외 캡처 예외 분석:

사례 1:

try:
    undef
except:
    print 'catch an except'

사례 2: # 🎜🎜#

try:
    if undef
except:
    print 'catch an except'

case 1: 캡처 가능 예외, 런타임 오류이기 때문에

case 2: 예외는 구문 오류, 사전 실행 오류이기 때문에 catch할 수 없습니다.

사례 3:

try:
    undef
except NameError, e:
    print 'catch an except', e
Case 4:
try:
    undef
except IOError, e:
    print 'catch an except', e

사례 3: 설정이 NameError 예외를 캡처하므로 예외를 포착할 수 있습니다.

사례 4: 예외를 포착할 수 없습니다. IOError가 설정되어 있고 NameError가 설정되어 있고 NameError가 발생했기 때문에 발생했습니다.

try--예외 처리 제외(2)

try-제외: 여러 예외 처리

try:
    try_suite
except Exception1 [e]:
    exception_block1
except Exception2 [e]:
    exception_block2
except ExceptionN [e]:
    exception_blockN

try-ready--else 사용

try:
    try_suite
except Exception1 [e]:
    exception_block1
else:
    none_exception
#🎜🎜 #예외가 없으면 else 문에 있는 코드를 실행합니다.

try--finally 문

try-finally 문:

try:
    try_suite
finally:
    do_finally

1. If try 문은 오류를 캡처하지 않으며 코드는 do_finally 문을 실행합니다

2 . try 문이 오류를 캡처하면 프로그램은 먼저 do_finally 문을 실행한 다음 처리를 위해 캡처된 오류를 Python 해석기에 전달합니다.

#🎜🎜 #try-finally 문:

규칙: try-finally는 예외 감지 여부에 관계없이 finally 코드를 실행합니다.

기능: 파일을 닫거나 시스템 리소스를 해제하기 위한 예외 처리 이벤트에 대한 정리 메커니즘을 제공합니다

try-Exception-finally 사용:

try:
    try_suite
except:
    do_except
finally:
    do_finally

1. try 문이 예외를 포착하지 못하면 try 코드 세그먼트를 실행한 후 finally#🎜🎜 #

2를 실행합니다. 예외가 발생하면 먼저 오류를 처리하기 위해 Except를 실행한 다음 finally

try-read-else-finally를 실행합니다.

try:
    try_suite
except:
    do_except
else:
    do_else
finally:
    do_finally

1인 경우 try 문이 catch되지 않습니다. try 코드 블록을 실행한 후 else 코드 블록을 실행하고 최종적으로 finally

2를 실행합니다. try가 예외를 catch하면 먼저 예외를 실행하여 오류를 처리한 다음 finally#🎜를 실행합니다. 🎜## 🎜🎜#with문

with문:

with context [as var]:

with_suite

#🎜🎜 #1. with 문은 try-Exception-finally 문을 대체하여 코드를 더욱 간결하게 만듭니다.

2 컨텍스트 표현식은 객체를 반환합니다. .var는 컨텍스트 반환 개체, 단일 반환 값 또는 조상을 저장하는 데 사용됩니다.

4.with_suite는 var 변수를 사용하여 컨텍스트 반환 개체에서 작동합니다

… #

#🎜 🎜#raise 및 주장

raise 문

raise 문은 예외를 적극적으로 발생시키는 데 사용됩니다.

#🎜🎜 # 문법 형식: raise [예외 [ , args]]

Exception: 예외 클래스

args: 예외 정보를 설명하는 튜플

예: #🎜 🎜#

raise TypeError
raise TypeError, 'Test Error'
raise IOError, 'File Not Exist'
#🎜🎜 #assert 문

Assertion 문: Assertion 문은 식이 true인지 확인하는 데 사용됩니다. #🎜🎜 #문법 형식 : Assert 표현식 [, args]

expression : 표현식

args : 판단 조건에 대한 설명 정보

예: #🎜🎜 #
assert 7==6
assert 0, 'Test Error'

Python 표준 및 자동 예외 정의

표준 예외: 프로그램이 실행되기 전에 이미 존재하는 Python 내장 예외

사용자 정의 예외: #🎜 🎜#

1.python은 사용자 정의를 허용합니다. 예외는 python

2와 관련되지 않은 비정상적인 상황을 설명하는 데 사용됩니다. 사용자 정의 예외는 Exception 클래스

3을 상속해야 합니다. 예외는 적극적으로만 트리거될 수 있습니다.

사용자 정의 예외 예:

class FileError(IOError):
    pass
raise FileError, 'Test FileError'
 
class CustomError(Exception):
    def __init__(self, info):
        Exception.__init__(self)
        self.errorinfo = info
    def __str__(self):
        return 'CustomError: %s' % self.errorinfo
try:
    raise CustomError('test CustomError')
except CustomError, e:
    print 'Error Info : %s' % e

관련 권장 사항: "

Python tutorial

"

위 내용은 파이썬 예외와 오류의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
2 시간의 파이썬 계획 : 현실적인 접근2 시간의 파이썬 계획 : 현실적인 접근Apr 11, 2025 am 12:04 AM

2 시간 이내에 Python의 기본 프로그래밍 개념과 기술을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우기, 2. 마스터 제어 흐름 (조건부 명세서 및 루프), 3. 기능의 정의 및 사용을 이해하십시오. 4. 간단한 예제 및 코드 스 니펫을 통해 Python 프로그래밍을 신속하게 시작하십시오.

파이썬 : 기본 응용 프로그램 탐색파이썬 : 기본 응용 프로그램 탐색Apr 10, 2025 am 09:41 AM

Python은 웹 개발, 데이터 과학, 기계 학습, 자동화 및 스크립팅 분야에서 널리 사용됩니다. 1) 웹 개발에서 Django 및 Flask 프레임 워크는 개발 프로세스를 단순화합니다. 2) 데이터 과학 및 기계 학습 분야에서 Numpy, Pandas, Scikit-Learn 및 Tensorflow 라이브러리는 강력한 지원을 제공합니다. 3) 자동화 및 스크립팅 측면에서 Python은 자동화 된 테스트 및 시스템 관리와 ​​같은 작업에 적합합니다.

2 시간 안에 얼마나 많은 파이썬을 배울 수 있습니까?2 시간 안에 얼마나 많은 파이썬을 배울 수 있습니까?Apr 09, 2025 pm 04:33 PM

2 시간 이내에 파이썬의 기본 사항을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우십시오. 이를 통해 간단한 파이썬 프로그램 작성을 시작하는 데 도움이됩니다.

10 시간 이내에 프로젝트 및 문제 중심 방법에서 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법?10 시간 이내에 프로젝트 및 문제 중심 방법에서 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법?Apr 02, 2025 am 07:18 AM

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

중간 독서를 위해 Fiddler를 사용할 때 브라우저에서 감지되는 것을 피하는 방법은 무엇입니까?중간 독서를 위해 Fiddler를 사용할 때 브라우저에서 감지되는 것을 피하는 방법은 무엇입니까?Apr 02, 2025 am 07:15 AM

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

Python 3.6에 피클 파일을로드 할 때 '__builtin__'모듈을 찾을 수없는 경우 어떻게해야합니까?Python 3.6에 피클 파일을로드 할 때 '__builtin__'모듈을 찾을 수없는 경우 어떻게해야합니까?Apr 02, 2025 am 07:12 AM

Python 3.6에 피클 파일로드 3.6 환경 보고서 오류 : modulenotfounderror : nomodulename ...

경치 좋은 스팟 코멘트 분석에서 Jieba Word 세분화의 정확성을 향상시키는 방법은 무엇입니까?경치 좋은 스팟 코멘트 분석에서 Jieba Word 세분화의 정확성을 향상시키는 방법은 무엇입니까?Apr 02, 2025 am 07:09 AM

경치 좋은 스팟 댓글 분석에서 Jieba Word 세분화 문제를 해결하는 방법은 무엇입니까? 경치가 좋은 스팟 댓글 및 분석을 수행 할 때 종종 Jieba Word 세분화 도구를 사용하여 텍스트를 처리합니다 ...

정규 표현식을 사용하여 첫 번째 닫힌 태그와 정지와 일치하는 방법은 무엇입니까?정규 표현식을 사용하여 첫 번째 닫힌 태그와 정지와 일치하는 방법은 무엇입니까?Apr 02, 2025 am 07:06 AM

정규 표현식을 사용하여 첫 번째 닫힌 태그와 정지와 일치하는 방법은 무엇입니까? HTML 또는 기타 마크 업 언어를 다룰 때는 정규 표현식이 종종 필요합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는