찾다
백엔드 개발파이썬 튜토리얼Python 예외 처리 방법에 대한 자세한 그래픽 설명

Python은 Python 프로그램이 실행될 때 발생하는 예외와 오류를 처리하기 위해 두 가지 매우 중요한 기능을 제공합니다. 이 기능을 사용하여 Python 프로그램을 디버그할 수 있습니다.

문서를 보려면 F1을 열 수 있습니다. 그림에 표시된 것처럼 많은 예외 유형이 있습니다.

Python 예외 처리 방법에 대한 자세한 그래픽 설명

무엇입니까? 예외?

예외란 프로그램 실행 중에 발생하여 프로그램의 정상적인 실행에 영향을 미치는 이벤트입니다.

일반적으로 Python이 프로그램을 정상적으로 처리할 수 없을 때 예외가 발생합니다.

예외는 오류를 나타내는 Python 객체입니다.

Python 스크립트에서 예외가 발생하면 이를 포착하고 처리해야 합니다. 그렇지 않으면 프로그램이 실행을 종료합니다.

예외 처리

예외를 포착하려면 try/exc 문을 사용할 수 있습니다.

try/Exception 문은 try 문 블록에서 오류를 감지하는 데 사용되므로, Except 문이 예외 정보를 캡처하고 처리할 수 있습니다.

예외 발생 시 프로그램을 종료하고 싶지 않다면 한번 시도해 보세요.

구문:

다음은 간단한 try...Exception...else의 구문입니다.

try:

        #运行别的代码

except

        #如果在try部份引发了'name'异常

except ,:

        #如果引发了'name'异常,获得附加的数据

else:

        #如果没有异常发生

try의 작동 원리는 try를 시작한 후 문에서 Python은 예외가 발생할 때 여기로 돌아올 수 있도록 현재 프로그램의 컨텍스트를 표시합니다. try 절이 먼저 실행되고 다음에 일어나는 일은 실행 중에 예외가 발생하는지 여부에 따라 달라집니다.

try 이후 문이 실행될 때 예외가 발생하면 Python은 예외가 처리된 후 전체 try 문을 통과하여 try 및 첫 번째 Except 절을 실행합니다. (예외를 처리할 때 새로운 예외가 발생하지 않는 한)

#try 후 문에서 예외가 발생했지만 일치하는 Except 절이 없으면 해당 예외는 상위 try 또는 프로그램의 최상위 수준에 제출됩니다(이로 인해 프로그램이 종료되고 오류 지방 오류 메시지를 인쇄합니다.

#try 절이 실행될 때 예외가 발생하지 않으면 파이썬은 else 문 다음에 문을 실행하고(else가 있는 경우) 제어 흐름은 전체 try 문을 통과합니다.

다음은 간단한 예입니다. 파일을 열고, 파일에 내용을 쓰고, 예외가 발생하지 않습니다.

#!/usr/bin/python

try:

   fh = open("testfile" "w")

   fh.write("This is my test file for exception handling!!")

except IOError:

   print "Error: can't find file or read data"

else:

   print "Written content in the file successfully"

   fh.close()

위 프로그램 출력 결과 :

 Written content in the file successfully

다음은 간단한 예입니다. 파일을 엽니다. 콘텐츠가 기록되었지만 파일에 쓰기 권한이 없어 예외가 발생했습니다:

#!/usr/bin/python

try:

   fh = open("testfile""r")

   fh.write("This is my test file for exception handling!!")

except IOError:

   print "Error: can't find file or read data"

else:

   print "Written content in the file successfully"

위 프로그램 출력 결과:

Error: can't find file or read data

예외 유형 없이 제외 사용

다음 예와 같이 예외 유형 없이 Except를 사용할 수 있습니다.

try:

   You do your operations here;

   ......................

except:

   If there is any exception, then execute this block.

   ......................

else:

   If there is no exception then execute this block.

위 방식의 try-Exception 문은 발생하는 모든 예외를 캡처합니다. 하지만 이는 좋은 방법이 아니며, 이 프로그램을 통해서는 구체적인 비정상적인 정보를 식별할 수 없습니다. 모든 예외를 포착하기 때문입니다.

여러 예외 유형과 함께 Except 사용

아래 표시된 것처럼 동일한 Except 문을 사용하여 여러 예외 메시지를 처리할 수도 있습니다.

try:

   You do your operations here;

   ......................

except(Exception1[, Exception2[,...ExceptionN]]]):

   If there is any exception from the given exception list

   then execute this block.

   ......................

else:

   If there is no exception then execute this block.

try-finally 문

try- finally 문은 예외 발생 여부에 관계없이 마지막 코드를 실행합니다.

try:

finally:

    #退出try时总会执行

raise

참고: Except 문이나 finally 문을 사용하되 동시에 둘 다 사용하지 마십시오. else 문은 finally 문

#!/usr/bin/python

try:

과 함께 사용할 수 없습니다.    fh = open("testfile""w")

   fh.write("This is my test file for exception handling!!")

finally:

   print "Error: can't find file or read data"

열린 파일에 쓰기 권한이 없으면 출력은 다음과 같습니다.

Error: can't find fileorread data

#!/usr/bin/python

🎜>try:

   fh =open("testfile""w")

   try:

      fh.write("This is my test file for exception handling!!" )

   print "Error: can't find file or read data"

try 블록에서 예외가 발생하면 finally 블록 코드가 즉시 실행됩니다.

finally 블록의 모든 문이 실행된 후 다시 예외가 발생하고 Except 블록 코드가 실행됩니다.

매개변수의 내용이 예외사항과 다릅니다.

예외 매개변수

예외에는 출력 예외 정보 매개변수로 사용할 수 있는 매개변수가 있을 수 있습니다.

다음과 같이 Except 문을 통해 예외 매개변수를 캡처할 수 있습니다.

try:

   You do your operations here;

   ......................

except ExceptionType, Argument:

   You can print value of Argument here...

변수에서 받는 예외 값은 일반적으로 예외 문에 포함됩니다. 튜플 형태의 변수는 하나 이상의 값을 받을 수 있습니다.

튜플에는 일반적으로 잘못된 문자열, 잘못된 숫자, 잘못된 위치가 포함됩니다.

인스턴스

다음은 단일 예외의 예입니다.

#!/usr/bin/python

# Define a function here.

def temp_convert(var):

   try:

      returnint(var)

   except ValueError, Argument:

      print"The argument does not contain numbersn", Argument

# Call above function here.

temp_convert("xyz");

실행 결과 위의 프로그램은 다음과 같습니다.

The argument does not contain numbers

invalid literal for int() with base 10'xyz'

예외 발생

raise 문을 사용하여 예외를 직접 발생시킬 수 있습니다

raise 구문 형식은 다음과 같습니다.

raise [Exception [, args [, traceback]]]

문의 예외는 예외 유형(예: NameError)이고 매개 변수는 예외 매개 변수 값입니다. 이 매개변수는 선택사항입니다. 제공되지 않은 경우 예외 매개변수는 "None"입니다.

마지막 인수는 선택 사항이며(실제로는 거의 사용되지 않음) 존재하는 경우 추적 예외 개체입니다.

인스턴스

예외는 문자열, 클래스 또는 개체일 수 있습니다. Python 커널에서 제공되는 대부분의 예외는 클래스 인스턴스의 매개변수인 인스턴스화된 클래스입니다.

예외 정의는 다음과 같이 매우 간단합니다.

def functionName( level ):

   if level <code>1:

      raise "Invalid level!", level

      # The code below to this would not be executed

      # if we raise the exception

참고: 예외를 포착하려면 "제외" 문에서 동일한 예외를 사용하여 클래스 개체 또는 문자열을 발생시켜야 합니다.

예를 들어 위의 예외를 catch하는 경우 "제외" 문은 다음과 같습니다.

try:

    Business Logic here...

except "Invalid level!":

   Exception handling here...

else:

   Rest of the code here...

사용자 정의 예외

새 예외 클래스를 생성하면 프로그램에서 고유한 예외 이름을 지정할 수 있습니다. 예외는 일반적으로 Exception 클래스에서 직접 또는 간접적으로 상속되어야 합니다.

다음은 RuntimeError와 관련된 예제입니다. 예제에는 예외가 발생했을 때 자세한 정보를 출력하는 데 사용되는 기본 클래스인 RuntimeError가 생성됩니다.

try 문 블록에서는 사용자 정의 예외 이후에 Except 블록 문이 실행됩니다. 변수 e는 Networkerror 클래스의 인스턴스를 만드는 데 사용됩니다.

class Networkerror(RuntimeError):

   def __init__(self, arg):

      self.args = arg

위 클래스를 정의한 후 다음과 같이 예외를 트리거할 수 있습니다.

try:

   raise Networkerror("Bad hostname")

except Networkerror,e:

   print e.args

위 내용은 Python 예외 처리 방법에 대한 자세한 그래픽 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

Python의 유연성은 다중 파리가 지원 및 동적 유형 시스템에 반영되며, 사용 편의성은 간단한 구문 및 풍부한 표준 라이브러리에서 나옵니다. 유연성 : 객체 지향, 기능 및 절차 프로그래밍을 지원하며 동적 유형 시스템은 개발 효율성을 향상시킵니다. 2. 사용 편의성 : 문법은 자연 언어에 가깝고 표준 라이브러리는 광범위한 기능을 다루며 개발 프로세스를 단순화합니다.

파이썬 : 다목적 프로그래밍의 힘파이썬 : 다목적 프로그래밍의 힘Apr 17, 2025 am 12:09 AM

Python은 초보자부터 고급 개발자에 이르기까지 모든 요구에 적합한 단순성과 힘에 호의적입니다. 다목적 성은 다음과 같이 반영됩니다. 1) 배우고 사용하기 쉽고 간단한 구문; 2) Numpy, Pandas 등과 같은 풍부한 라이브러리 및 프레임 워크; 3) 다양한 운영 체제에서 실행할 수있는 크로스 플랫폼 지원; 4) 작업 효율성을 향상시키기위한 스크립팅 및 자동화 작업에 적합합니다.

하루 2 시간 안에 파이썬 학습 : 실용 가이드하루 2 시간 안에 파이썬 학습 : 실용 가이드Apr 17, 2025 am 12:05 AM

예, 하루에 2 시간 후에 파이썬을 배우십시오. 1. 합리적인 학습 계획 개발, 2. 올바른 학습 자원을 선택하십시오. 3. 실습을 통해 학습 된 지식을 통합하십시오. 이 단계는 짧은 시간 안에 Python을 마스터하는 데 도움이 될 수 있습니다.

Python vs. C : 개발자를위한 장단점Python vs. C : 개발자를위한 장단점Apr 17, 2025 am 12:04 AM

Python은 빠른 개발 및 데이터 처리에 적합한 반면 C는 고성능 및 기본 제어에 적합합니다. 1) Python은 간결한 구문과 함께 사용하기 쉽고 데이터 과학 및 웹 개발에 적합합니다. 2) C는 고성능과 정확한 제어를 가지고 있으며 게임 및 시스템 프로그래밍에 종종 사용됩니다.

파이썬 : 시간 약속과 학습 속도파이썬 : 시간 약속과 학습 속도Apr 17, 2025 am 12:03 AM

Python을 배우는 데 필요한 시간은 개인마다 다릅니다. 주로 이전 프로그래밍 경험, 학습 동기 부여, 학습 리소스 및 방법 및 학습 리듬의 영향을받습니다. 실질적인 학습 목표를 설정하고 실용적인 프로젝트를 통해 최선을 다하십시오.

파이썬 : 자동화, 스크립팅 및 작업 관리파이썬 : 자동화, 스크립팅 및 작업 관리Apr 16, 2025 am 12:14 AM

파이썬은 자동화, 스크립팅 및 작업 관리가 탁월합니다. 1) 자동화 : 파일 백업은 OS 및 Shutil과 같은 표준 라이브러리를 통해 실현됩니다. 2) 스크립트 쓰기 : PSUTIL 라이브러리를 사용하여 시스템 리소스를 모니터링합니다. 3) 작업 관리 : 일정 라이브러리를 사용하여 작업을 예약하십시오. Python의 사용 편의성과 풍부한 라이브러리 지원으로 인해 이러한 영역에서 선호하는 도구가됩니다.

파이썬과 시간 : 공부 시간을 최대한 활용파이썬과 시간 : 공부 시간을 최대한 활용Apr 14, 2025 am 12:02 AM

제한된 시간에 Python 학습 효율을 극대화하려면 Python의 DateTime, Time 및 Schedule 모듈을 사용할 수 있습니다. 1. DateTime 모듈은 학습 시간을 기록하고 계획하는 데 사용됩니다. 2. 시간 모듈은 학습과 휴식 시간을 설정하는 데 도움이됩니다. 3. 일정 모듈은 주간 학습 작업을 자동으로 배열합니다.

파이썬 : 게임, Guis 등파이썬 : 게임, Guis 등Apr 13, 2025 am 12:14 AM

Python은 게임 및 GUI 개발에서 탁월합니다. 1) 게임 개발은 Pygame을 사용하여 드로잉, 오디오 및 기타 기능을 제공하며 2D 게임을 만드는 데 적합합니다. 2) GUI 개발은 Tkinter 또는 PYQT를 선택할 수 있습니다. Tkinter는 간단하고 사용하기 쉽고 PYQT는 풍부한 기능을 가지고 있으며 전문 개발에 적합합니다.

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. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 영어 버전

SublimeText3 영어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경