2017-02-27 14 views
-2

我想在Python中創建一個錯誤消息,即程序應該被打斷,並且應該打印(如果可能的話)顏色的錯誤消息。例如:如何在Python中創建錯誤消息?

如果== 0:

錯誤( 「一個應該是非零」)

在Matlab中,你可以使用error指令做到這一點。你如何在Python中做到這一點?我發現了this page,但我不確定那是我在找什麼。只需使用assert

if a == 0: 
    raise ValueError("a should be nonzero") 

或:

+2

只是拋出一個錯誤 –

+0

這解決了我的問題。我知道這是一個非常基本的。我自己沒有找到重複的問題。我可以刪除我的問題嗎? – Karlo

+1

你可能會留下你的問題 - 它可以作爲鏈接問題的入口。 –

回答

-1

您可以raise它像這樣

assert a!=0, "a should be nonzero!" 
+3

不是我的downvote,但不認爲'assert'應該用在用戶輸入上,依稀相關http://stackoverflow.com/a/945135/6260170 –

+1

是的,斷言是爲了捕捉破碎的程序邏輯,而不是壞數據。如果用戶看到AssertionError,他們有權要求您修復該程序。 –

+0

OTOH,'a'可能不是用戶數據,但是如果程序邏輯正確,內部計算的結果不可能導致零。在這種情況下,斷言是絕對合適的。 –