목록오류처리 (4)
스택큐힙리스트
나는 상당히 간단한 등록 php 스크립트를 작성하고 있습니다. 이 스크립트는 PHP의 내장된 'mail()' 함수를 사용하여 사용자에게 활성화 링크를 이메일로 보냅니다.문제는 일반적인 오류를 잡을 수 있는데, 이메일 서식과 같은 것들이다. 그러나 한번 서버에 전송되고, 사용자가 실패한 이메일 주소를 입력한 경우, 이 오류를 잡고 사용자에게 무슨 일이 발생했는지 알려주는 방법을 모르겠다.경고: mail() [function.mail]: SMTP 서버 응답: 554 : 수신자 주소 거부됨: 릴레이 액세스 ** 줄 70에서 거부됨이런 오류에 대해 어떤 조치를 취할 수 있는 아이디어가 있을까요? 오류를 억제하기 위해 @ 기호를 사용하는 것을 알고 있지만, 그 이상의 조치를 취하고 이 문제를 처리하고 싶습니다.답..
파이썬 'with'문에서 예외 처리를 어떻게 다룰지 이해할 수 없습니다. 코드가 다음과 같다면: with open(a.txt) as f: print f.readlines()나는 뭔가를 하기 위해 '파일을 찾을 수 없는 예외'를 처리하고 싶다. 그러나 내가 쓸 수 없다. with open(a.txt) as f: print f.readlines()except: print 'oops'그리고 쓸 수 없습니다. with open(a.txt) as f: print f.readlines()else: print 'oops'try/except 구문으로 with 구문을 감싸는 것도 작동하지 않으며, 예외가 발생하지 않습니다. Pythonic한 방식으로 with 구문 내에서 실패를 처리하려면 어떻게 해야 할까요?답변 1 f..
파이썬에서 raise 와 raise from의 차이점은 무엇인가요? try: raise ValueErrorexcept Exception as e: raise IndexError어떤 결과물을 보여줍니다. Traceback (most recent call last): File tmp.py, line 2, in raise ValueErrorValueErrorDuring handling of the above exception, another exception occurred:Traceback (most recent call last): File tmp.py, line 4, in raise IndexErrorIndexError그리고 try: raise ValueErrorexcept Exception as e: ..
나는 for i in range(0, 100) 로 시작하는 루프를 가지고 있다. 보통은 올바르게 작동하지만 때로는 네트워크 조건 때문에 실패한다. 현재는 실패 시 except 절에서 continue 를 설정하여 ( i 의 다음 숫자로 계속 진행하도록) 설정되어 있다.제가 같은 번호를 i에 재지정하고 루프의 실패한 반복을 다시 실행할 수 있을까요?답변 1당신의 for 루프 내부에서 while True를 수행하고, 당신의 try 코드를 넣고, 코드가 성공할 때까지 그 while 루프에서 탈출하세요. for i in range(0,100): while True: try: # do stuff except SomeSpecificException: continue break답변 2예외 처리 후 다시 시도하는 방법은..