2016-02-05 126 views
0

我以前做的psycopg2版本2.6.1 我想獲取一些錯誤,但它excpected不工作:獲得psycopg2誤差python3

try: 
    pgconn = psycopg2.connect(database="foobar", host="dbtest.example.de", user="postgresss") 
except psycopg2.OperationalError: 
    print(psycopg2.OperationalError.pgerror) 
    .....:  
<member 'pgerror' of 'psycopg2.Error' objects> 

或:

try:      
    pgconn = psycopg2.connect(database="foobar", host="dbtest.example.de", user="postgresss") 
except psycopg2.OperationalError: 
    print(psycopg2.OperationalError.diag) 
    .....:  
<attribute 'diag' of 'psycopg2.Error' objects> 

哪有我看到正確的消息,如「沒有pg_hba.conf主機xyz條目」

回答

0

您需要參考例外實例:

try: 
    pgconn = psycopg2.connect(database="foobar", host="dbtest.example.de", user="postgresss") 
except psycopg2.OperationalError as e: 
    print(e) 
+0

謝謝!它的作品,但爲什麼我不能使用打印(psycopg2.OperationalError)? – colttt

+1

@colttt cause'psycopg2.OperationalError'是一個異常類,但'e'是一個實例。 – alecxe