我無法從Python文檔中知道re.compile(x)函數是否可能會引發異常(假設您傳入字符串)。我想有些東西可以被認爲是無效的正則表達式。更大的問題是,我該在哪裏查找給定的Python庫調用是否可能會引發異常以及這些異常?re.compile()或任何給定的Python庫調用是否會引發異常?
13
A
回答
10
嘛,肯定re.compile
可能:
>>> import re
>>> re.compile('he(lo')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python25\lib\re.py", line 180, in compile
return _compile(pattern, flags)
File "C:\Python25\lib\re.py", line 233, in _compile
raise error, v # invalid expression
sre_constants.error: unbalanced parenthesis
The documentation不支持這一點,以一種迂迴的方式 - 勾選「模塊內容」頁面底部的error
異常的(簡單)的說明。
不幸的是,我對一般問題沒有任何答案。我猜想各種模塊的文檔在質量和徹底性上各不相同。如果您有興趣的特定模塊,您可以使用decompile這些模塊(如果使用Python編寫的話)或者甚至look at the source(如果它們位於標準庫中)。
6
與Java不同,Java中有必須聲明異常的引發(有些異常不一定非要,但那是另一回事),任何Python代碼都可能隨時引發異常。
有一個列表built-in exceptions,它通常有一些描述可能會引發這些例外。它取決於你要執行多少異常處理,以及如果你會優雅地處理東西,或者只是以回溯失敗。
相關問題
- 1. 企業日誌記錄庫是否會引發異常?
- 2. 如何測試在調用socket.send時是否引發異常
- 3. 如何使用Python模擬引發異常 - 但是,errno設置爲給定值
- 4. 如何檢測python中的try塊是否引發異常?
- 5. 如何測試引發異常的任何方法調用?
- 6. 如果引發異常,rails是否緩存任何內容?
- 7. 是否有任何事件會在有異常時觸發?
- 8. Python異常:針對任何異常調用相同的函數
- 9. 測試一個方法是否會引發異常而不調用它
- 10. lseek64是否會引發任何設備特定的操作?
- 11. WebClient.DownloadDataAsync本身是否真的會引發異常?
- 12. 異常不會引發
- 13. str.format()會引發KeyError異常
- 14. Python Koan 131引發異常
- 15. Python程序引發異常
- 16. python引發錯誤異常
- 17. Python - 引發異常嗎?
- 18. 在Web Worker中調用postMessage回調會引發SYNTAX_ERR:DOM異常12
- 19. 檢查在Python 2.7中是否正確引發異常?
- 20. 將異常對象引用傳遞給新的異常對象是否安全?
- 21. 確定CoreApplicationView.GetCurrentView()是否會拋出異常?
- 22. 如何確定異常是否由特定的其他異常引起?
- 23. SSIS:DTS腳本任務遇到用戶代碼的異常:異常已通過調用的目標引發異常
- 24. Scala io.Source.FromFile是否會返回任何類型的異常?
- 25. 爲什麼調用NSDictionary的-allValues會引發異常?
- 26. 是否有任何引發內置異常的本機PHP函數?
- 27. 異步回調函數完成後是否會引發事件?
- 28. 如何確定哪些函數調用在Python中引發異常?
- 29. 如何使用Assert來驗證是否引發了異常?
- 30. 爲什麼使用Meteor.setInterval調用方法會引發TypeError異常?