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

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

오류 및 예외 개념

오류:

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으로 문의하세요.
详细讲解Python之Seaborn(数据可视化)详细讲解Python之Seaborn(数据可视化)Apr 21, 2022 pm 06:08 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

详细了解Python进程池与进程锁详细了解Python进程池与进程锁May 10, 2022 pm 06:11 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

Python自动化实践之筛选简历Python自动化实践之筛选简历Jun 07, 2022 pm 06:59 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

归纳总结Python标准库归纳总结Python标准库May 03, 2022 am 09:00 AM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于标准库总结的相关问题,下面一起来看一下,希望对大家有帮助。

分享10款高效的VSCode插件,总有一款能够惊艳到你!!分享10款高效的VSCode插件,总有一款能够惊艳到你!!Mar 09, 2021 am 10:15 AM

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

python中文是什么意思python中文是什么意思Jun 24, 2019 pm 02:22 PM

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。

Python数据类型详解之字符串、数字Python数据类型详解之字符串、数字Apr 27, 2022 pm 07:27 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

详细介绍python的numpy模块详细介绍python的numpy模块May 19, 2022 am 11:43 AM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。

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를 무료로 생성하십시오.

뜨거운 도구

DVWA

DVWA

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

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경