2012-05-22 29 views
-2

我是新來的python programming.is有可能在python中引發異常,而不使用除塊(或)以外的嘗試,只有除(或)只與try塊一起使用。在Python中提高關鍵字?

感謝 Mukthyar

+1

@marc_s我告訴他很多次,但他似乎並不在意,有一天,沒有人會幫他下去了。 – glglgl

回答

2

你不需要它是在一個try..except塊,但是當你拋出一個異常,你總是想抓住它,並在你的代碼的地方處理。這就是try..except塊的用法。您需要在代碼中的某處使用它來處理引發的異常,否則異常將會停止執行您的程序。

2

閱讀Errors and Exceptions的文件,特別是Raising Exceptions section

raise語句允許程序員強制指定 例外發生。例如:

>>> 
>>> raise NameError('HiThere') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in ? 
NameError: HiThere 
+0

這是一個很好的建議,但它對問題的評論最好。答案應該回答被問到的問題。這只是提供了一個非現場鏈接。 [faq](http://stackoverflow.com/faq#deletion)稍微說了一點,特別是將「幾乎不超過外部站點鏈接」的答案稱爲易於刪除的答案。 –

+0

@DavidHeffernan:這不是一個真正的問題...... – vartec

+0

所以你投票結束,因爲不是一個真正的問題,但無論如何回答。這很奇怪。 –

1

你並不需要成爲一個try/except塊內,以引發異常。另一方面,如果你想捕捉和處理異常,那麼你需要使用try/except塊。

在沒有exceptfinally的情況下編寫try時出現語法錯誤。或者確實要寫except而沒有匹配try。這些語言結構是密不可分的。

3

你可以在你的代碼中的任何一點引發異常,這將退出所有功能往上走的調用鏈,直到它到達一個匹配的except塊。你不需要是 try塊,以提高一個例外 - 只抓一個。

全套的東西,你可以試試塊上看起來是這樣的:

try: 
    ... 
except A: 
    ... 
except B: 
    ... 
else: 
    ... 
finally: 
    ... 

你可以找到所有這些在文檔的完整定義,但我覺得你問的位關於是否可以有except:而沒有try: - 你不能。上述爲強制性try:,您至少需要其中一個,但它可以是其中任何一個(並且您可以有多個,包括任意多個except:)。