在Python中,try/except如何实例化一个类?在
例如,我现在正在处理一个GitHub脚本:from github3 import login
user = login(username, password)
一开始,我以为这很简单:
^{pr2}$
但是,如果我强制执行一个异常(例如,提供错误的参数),那么我不会看到任何异常:$ python my-script.py -u 1 -p 1; echo $?
name 'pw' is not defined
0
如果我再试一次,但是从组合中去掉try/except,我得到了我期望看到的异常:$ python my-script.py -u username -p password; echo $?
Traceback (most recent call last):
File "delete-all-gists.py", line 19, in
user = login(u, pw)
NameError: name 'pw' is not defined
1
我不可能是唯一一个问这个问题的人,但我恐怕我的搜索功能可能会让我失望。。。在
更新
事实上,正如评论中提到的,当我问这个问题时,我似乎闭上了眼睛。。。在
我认为抛出我的是github3的login()方法在提供错误的用户名/密码时没有引发任何异常。例如:from github3 import login
u = 'foo'
p = 'bar'
try:
user = login(u, p)
except Exception, e:
print e
退货:
没什么。没有错误,例外或任何东西。在
然而,正如预期的那样,以下情况确实引发了一个例外:from github3 import login
u = 'foo'
p = 'bar'
try:
user = login(username, p)
except Exception, e:
print e
退货:name 'username' is not defined
当然,这是因为我故意提供了一个不存在的变量作为login()方法的username参数,以强制引发异常。在