草庐IT

Try-finally

全部标签

python - Python 中的 try-else 有什么用?

我正在尝试学习Python的次要细节,然后我遇到了thetry-elsestatement.try1_stmt::="try"":"suite("except"[expression[("as"|",")target]]":"suite)+["else"":"suite]["finally"":"suite]Theoptionalelseclauseisexecutedifandwhencontrolflowsofftheendofthetryclause.Exceptionsintheelseclausearenothandledbytheprecedingexceptclauses

python - 如何在 Python 中使用 try/except 获得更好的错误信息

考虑这个try/exceptblock,我用它来检查存储在e中的错误消息。Try/Catch获取equeryString="SELECT*FROMbenchmarkWHERENOC=2"try:res=db.query(queryString)exceptSQLiteError,e:#`e`hastheerrorinfoprint`e`此处的e对象仅包含上述字符串。然而,当python报告一个未处理的错误时,它会显示一个非常详细的信息,如下所示:Traceback(mostrecentcalllast):File"fool.py",line1,inopen("abc.zyz","r")

将单个语句包装在 try except block 中的 Python 干净方法

我目前正在使用com对Excel进行一些Python自动化。它功能齐全,可以做我想做的事,但我发现了一些令人惊讶的事情。有时,我使用的某些Excel命令会无缘无故地失败并出现异常。其他时候,他们会工作。在我正在做的事情的VB等效代码中,这个问题显然被认为是正常的,并且用OnErrorResumeNext语句覆盖。当然,Python没有said语句。我不能在tryexcept循环中包含整个集合,因为它可能会在中途“失败”并且无法正确完成。那么,将几个独立的语句包装到一个tryexceptblock中的pythonic方法是什么?具体来说,比以下更清洁的东西:try:statementex

python - 为什么在 Python 的 try/except 构造中使用 else?

我正在学习Python,并且偶然发现了一个我无法轻易理解的概念:try构造中的可选elseblock。根据thedocumentation:Thetry...exceptstatementhasanoptionalelseclause,which,whenpresent,mustfollowallexceptclauses.Itisusefulforcodethatmustbeexecutedifthetryclausedoesnotraiseanexception.我感到困惑的是,为什么在try构造中有如果try子句没有引发异常则必须执行的代码——为什么不简单地让它跟随try/exc

python - 对自定义 Exception 的 try/except 感到困惑

我的代码:classAError(Exception):print'erroroccur'foriinrange(3):try:print'---oo'raiseAErrorexceptAError:print'getAError'else:print'goingon'finally:print'finally'当我运行上面的代码时,输​​出是这样的:erroroccur---oogetAErrorfinally---oogetAErrorfinally---oogetAErrorfinally我认为字符串"erroroccur"应该出现三次,比如"---oo",但它只出现了一次;为什

python - 加密 : AssertionError ("PID check failed. RNG must be re-initialized after fork(). Hint: Try Random.atfork()")

我正在创建执行不同任务的各种流程。其中之一,也是唯一一个,有一个创建PyCrypto对象的安全模块。所以我的程序启动,创建各种进程,处理消息的进程使用安全模块解密,我得到以下错误:firstSymKeybin=self.cipher.decrypt(encFirstSymKeybin,'')File"/usr/local/lib/python2.7/dist-packages/Crypto/Cipher/PKCS1_v1_5.py",line206,indecryptm=self._key.decrypt(ct)File"/usr/local/lib/python2.7/dist-pa

python - Python中如何正确使用try,except,else

所以我想知道编写tryexcept语句的正确方法是什么。我是Python错误处理的新手。选项1try:itemCode=items["itemCode"]dbObject=db.GqlQuery("SELECT*FROM%sWHEREcode=:1"%dbName,itemCode).get()dbObject.delete()exceptAttributeError:print"There'snoitemwiththatcode"exceptKeyError:print"Badparametername"except:print"Unknowerror"选项2try:itemCode

python - Py_initialize/Py_Finalize 不能与 numpy 一起工作两次

在第二次调用以下代码时,我的应用出现段错误,所以我想我遗漏了一些东西:Py_Initialize();pName=PyString_FromString("comp_macbeth");pModule=PyImport_Import(pName);Py_DECREF(pName);if(pModule==NULL){PyErr_Print();Py_Finalize();return;}pFunc=PyObject_GetAttrString(pModule,"compute");/*pFuncisanewreference*/if(!pFunc||!PyCallable_Check(

Python:是否可以访问 `finally` 子句中的返回值?

我在try子句中有一个return语句:deff():try:returnwhatever()finally:pass#HowdoIgetwhat`whatever()`returnedinhere?是否可以在finally子句中获取返回值?这更像是一个理论问题,所以我不是在寻找将其保存到变量之类的解决方法。 最佳答案 不,它不是-finally子句的内容独立于返回机制;如果您确实想查看返回的值,则必须按照您提到的方式进行操作,并将其明确保存在范围内的某个位置。 关于Python:是否可

python - 如何在 python 中的一个 block 中编写多个 try 语句?

我想做的事:try:do()except:do2()except:do3()except:do4()如果do()失败,则执行do2(),如果do2()也失败,则执行do3()等。最好的问候 最佳答案 如果你真的不关心异常,你可以遍历案例直到你成功:forfnin(do,do2,do3,do4):try:fn()breakexcept:continue这至少避免了每次都缩进一次。如果不同的函数需要不同的参数,您可以使用functools.partial在循环之前“初始化”它们。 关于pyt