일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 소프트웨어
- 자료구조
- 데이터과학
- 사이버보안
- 데이터구조
- 컴퓨터과학
- 보안
- 네트워크보안
- 인공지능
- I'm Sorry
- 데이터분석
- 머신러닝
- 자바스크립트
- 프로그래밍
- 클라우드컴퓨팅
- 2
- 코딩
- 딥러닝
- 데이터베이스
- 컴퓨터공학
- 컴퓨터비전
- 프로그래밍언어
- 알고리즘
- 버전관리
- 네트워크
- Yes
- 소프트웨어공학
- 웹개발
- 파이썬
- 빅데이터
- Today
- Total
스택큐힙리스트
파이썬에서 예외 값 가져오기 본문
만약 나에게 그 코드가 있다면:
try:
some_method()
except Exception, e:
이 예외값(문자열 표현)을 어떻게 가져올 수 있을까요?
답변 1
사용 str
try:
some_method()
except Exception as e:
s = str(e)
또한 대부분의 예외 클래스에는 args 속성이 있습니다. 종종, args[0] 는 오류 메시지일 것입니다.
str를 사용하면 오류 메시지가 없으면 빈 문자열이 반환되는 것에 유의해야 합니다. 반면, pyfunc에서 추천하는 repr를 사용하면 적어도 예외 클래스를 표시합니다. 내 견해는 출력하는 경우, 클래스가 무엇인지는 관심없는 최종 사용자를 위한 것이며 오류 메시지만 원하는 것입니다.
그것은 당신이 다루고 있는 예외 클래스와 인스턴스화 방법에 따라 실제로 달라집니다. 당신이 특별히 생각하고 있는 것이 있나요?
답변 2
파이썬은 프로그래밍 언어 중 하나로, 예외처리를 지원합니다. 예외는 일종의 오류 상황으로, 예상치 못한 문제가 발생했을 때 프로그램의 실행이 중단됩니다. 이때 예외의 종류와 그 값을 알아야 문제를 해결할 수 있습니다.예외의 종류는 여러 가지가 있으며, 각 예외는 특정한 상황에서 발생합니다. 예를 들어, 이름이 정의되지 않은 변수를 참조하거나 0으로 나누는 등의 상황에서는 NameError와 ZeroDivisionError와 같은 예외가 발생합니다.
예외가 발생하면 파이썬은 해당 예외의 이름과 값에 대한 정보를 출력합니다. 이 정보는 예외 처리 코드에서 디버깅에 유용합니다. 예외 처리 코드는 try-except 블록으로 작성되며, try 블록 안에서 예외가 발생하면 except 블록에서 해당 예외를 처리합니다. 이때 except 블록에서는 발생한 예외의 이름과 값을 참조할 수 있습니다.
예를 들어, 다음과 같은 코드가 있을 때:
try:
result = 1/0
except ZeroDivisionError as e:
print(Error: , e)
위 코드에서는 try 블록 안에서 0으로 나누기 연산을 수행하면 ZeroDivisionError가 발생합니다. 이때 except 블록에서는 as 키워드를 사용해 예외 값을 e라는 이름으로 참조할 수 있습니다. 이렇게 하면 출력문에서 e 값을 사용해 예외 내용을 출력할 수 있습니다.
파이썬에서는 예외 처리를 통해 프로그램의 안정성을 높일 수 있습니다. 예외 처리 코드에서는 발생한 예외의 이름과 값을 참조해서 디버깅을 수월하게 할 수 있습니다. 따라서 예외 처리 코드 작성 시 예외 이름과 값을 알고 있어야 합니다.