반응형

python version: 2.7


자바(Java)의 try { ... } catch (Exception e) { e.printStackTrace(); } 과 비슷한 개념으로 코드의 trace stack을 확인하는 방법:


import traceback


try:

    ....

except:

    traceback.print_exc()



오히려 try, except 없이 그냥 코드를 실행하면 프로세스는 당장 중단되더라도 call stack을 볼 수 있었는데, try, except로 감싸고 나서는 익셉션을 보는 방법이 뭔지 몰라서 그냥 print나 대충 해보다가 찾아보게 되었다. 이와 관련해서 StackOverflow에 올라온 글을 보니 내가 모르고 있어서 그렇지 traceback 관련 사용법도 sys.exc_info와 연동하는 등 다양한 것 같다 [1].


여담이지만, 자바에서는 Exception이 throw되는 지점에서 try, catch를 작성하지 않으면 컴파일 에러를 내면서 작성을 강요하는 데 비해 파이썬은 익셉션 처리를 하든지 말든그냥 두는 것이 참... 비슷한 경우로 변수의 타입을 지정하지 않고 쓰는 것과 궤를 같이 하는 것 같기도 하고, 아무튼 C/C++, Java에만 익숙해져 있다가 참 적응이 안되는 기분이다.


그래도 지금은 빨리 코딩해서 데이터부터 만들어 내야 하니까 일단 적응이 안되든지 말든지 빨리 코딩하는 걸로.



<참고자료>

[1] http://stackoverflow.com/questions/3702675/how-to-print-the-full-traceback-without-halting-the-program

반응형
블로그 이미지

Bryan_

,
반응형

OS: Windows 10 Professional (64-bit)

Target: Synology NAS (고정IP 보유)


노트북의 하드디스크를 포맷하고 윈도우 10을 새로 설치했는데, 설치하고 나서 처음에 계정을 설정할 때 그냥 시키는 대로 Microsoft 계정으로 로그인하도록 지정했다.


어차피 로컬 계정이나 마이크로소프트 계정이나 일반적인 데스크탑 PC처럼 쓰는 경우에는 큰 차이가 없기 때문에 별로 상관하지 않았는데, 문제는 NAS에 연결하려고 시도해 보니까 아예 NAS에 로그인하는 과정 자체가 진행이 되지 않았다.

그러니까 "내 PC > 네트워크 드라이브 연결" 버튼을 누르고 \\주소\폴더 를 입력한 뒤에 "찾아보기" 버튼을 누르면 원래 로그인하라고 팝업 창이 떠야 되는데, 그 창이 뜨기 전에 접근할 수 없다는 오류 메세지만 뜨는 것이었다.


윈도우 로그인 계정을 로컬 계정으로 전환하고 나서는 네트워크 드라이브 추가가 잘 되길래, 일단 그렇게 쓰고 있다.

근본적인 해결 방법으로써 마이크로소프트 계정을 쓰는 상태에서 NAS에 접속하는 방법은 직접 확인하지는 못했지만 아마 이 문제 (http://www.theprojecty.net/wp/461) 같다.



반응형
블로그 이미지

Bryan_

,