2014-06-24 4 views
0

설정 메뉴에 텍스트를 삽입해야하는 GTK이있는 프로그램을 작성하고 있습니다. 설정 값이 잘못 입력되면 터미널에 오류 메시지가 표시됩니다. 오류 메시지가 무엇인지는 중요하지 않습니다. 사용자에게 문제를 해결하라는 내 자신의 오류 메시지를 작성하고 문제를 해결하는 방법을 원합니다. 오류 초기화 할 때필자는 파이썬 프로그램에 오류가있는 것을 알 수있게 해주어 자신 만의 오류 메시지를 만들 수 있습니다.

if OSError == true: 
    print "Custom Error Message" 
+2

https://docs.python.org/2/tutorial/errors.html#exceptions –

답변

-1

사용 raise 및 당신의 자신의 메시지를 제공합니다 : - 그것에 대해 except 블록

if OSError: 
    raise Exception("Your custom error message") 
+0

무엇 OSError'이 할 경우'기대 ? – jonrsharpe

+0

모르겠지만 입력하지 않았습니다. – ToonAlfrink

+0

죄송합니다, typo-point 스탠드 – jonrsharpe

0

을 당신은 try를 사용해야합니다

는이 같은 일이 일 거라 생각 했어요. 더 except 블록이 컨텍스트에서 발견되지 않는 경우 그렇지 않으면 프로그램이 중지에 대해 불평 할 것이다, 당신의 자신의 예외를 발생하는 것은 당신이 그것을 처리 할 필요가 있다고

class MyOwnException(Exception): pass 

try: 
    x = 4/0 
except ZeroDivisionError: 
    raise MyOwnException("You cannot divide a number by 0!!") 

참고 : 그냥 예외 상승 자신의 예를 잡을 그러한 예외. 그래서, 당신은 당신이 할 수있는 메시지를 표시 할 경우 :

try: 
    x = 4/0 
except ZeroDivisionError: 
    print("You cannot divide a number by 0!!") 
+0

"... 예외를 제기하면 프로그램 실행이 중단됩니다 ..."-이 정도면 충분하지 않다고 생각합니다. 오히려 프로그램의 마지막에 도달 할 때까지 호출 컨텍스트를 통해 예외를 넘깁니다 (다른 프로그램이 catch하지 않으면). –

+0

@SimonFeltman 정답을주의 깊게 읽고 내가 남긴 메모를 읽어보십시오. 예외를 발생 시키면 프로그램 실행이 중단됩니다. 그리고 코드의 두 번째 발췌 문장을보십시오. 아마도 나는 굵게 글씨체로 노트를 써야 할 것입니다. –

+0

내가보기에, 당신은 내가 당신의 previuos 코멘트를 오해 한 것입니다. –