取消
顯示的結果
而不是尋找
你的意思是:

如何從dbutils.widgets.get捕獲異常(…)

entimaniac
新的因素

我想編寫python筆記本的代碼可以運行從磚web ui或氣流。我打算從氣流通過參數通過api使用的工作

notebook_params
。據我所知,這些都可以作為小部件的值。

dbutils.widgets.get
似乎並不接受默認值選項,所以我想我隻能捕獲到一個異常,以防沒有可用的值。在UI的代碼拋出(
InputWidgetNotDefined
)沒有工作當我嚐試抓住它:

試一試:test_val = dbutils.widgets.get (“test_name”)除了InputWidgetNotDefined: test_val =“默認值”打印(test_val)

我可以做一個將軍,空的

除了:
將工作但通常是壞實踐做毯子了如果我們能避免它。

試一試:test_val = dbutils.widgets.get (“test_name”)除了:test_val =“默認值”打印(test_val)

所以有一個更精確的異常我能趕上嗎?

1回複1

blt
新的貢獻者二世

我處理這個異常類似:

進口py4j嚐試:價值= dbutils.widgets.get除了py4j.protocol(“參數”)。Py4JJavaError e:打印(e)

如果你仔細觀察堆棧跟蹤,您將看到消息的起源來自一些Java代碼:

/磚/火花/ python / lib / py4j-0.10.9.1-src.zip / py4j /協議。py get_return_value(答案,gateway_client target_id,名字)325如果回答[1]= = REFERENCE_TYPE: - - > 326提高Py4JJavaError(327”時發生一個錯誤調用{0}{1}{2}。\ n”。Py4JJavaError:調用o318.getArgument時發生一個錯誤。:com.databricks.dbutils_v1。InputWidgetNotDefined: No input widget named parameter is defined

“com.databricks.dbutils_v1。InputWidgetNotDefined" appears to be a Java class and the actual Python exception to handle is "Py4JJavaError".

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map