亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果用戶嘗試以某種錯誤來源獲取腳本,則jshell會以靜默方式完成

如果用戶嘗試以某種錯誤來源獲取腳本,則jshell會以靜默方式完成

楊__羊羊 2021-04-11 16:18:20
請按照下列步驟重現:創建帶有某種錯誤(缺少導入,語法錯誤等)的“ .jsh”腳本打開一個 jshell/open 錯誤的腳本該/open命令將以靜默方式完成。該腳本中聲明的元素將不在當前名稱空間中。jshell如果加載了錯誤的腳本,是否有辦法強制吐出錯誤及其在腳本中的位置?將反饋級別設置為verbose不會有任何改變。
查看完整描述

2 回答

?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

該問題似乎與JShell的“前向引用”功能有關:當方法或類型聲明引用仍未定義的變量或方法時,JShell僅檢查語法正確性,并延遲方法響應的編譯。類型。在交互模式下,它會顯示一條有用的消息,例如“方法x引用了未定義的方法y,只有在定義了方法y之前,該方法才能被調用”。但是,在運行啟動腳本時,該消息不會被打印,并且在許多情況下,該腳本不執行任何操作,這非常令人困惑。我還沒有找到一種方法來啟用該消息的打印。

超級批評人士可能會說,此錯誤/功能使JShell對于“真實”腳本應用程序毫無用處,我傾向于同意。

我建議在腳本執行期間禁用“轉發引用”功能。為了使向前引用仍然可行,應將整個腳本視為一個大片段。這也將消除每片段行數的問題,這對于從腳本解析的代碼完全沒有意義。


查看完整回答
反對 回復 2021-04-28
?
米脂

TA貢獻1836條經驗 獲得超3個贊

jshell在啟動時會導入很多類,并且任何后續的代碼段(即使從文件中加載)都可以使用它們,因此,這里缺少一些丟失的導入。--no-startup可用于禁用此行為。


查看完整回答
反對 回復 2021-04-28
  • 2 回答
  • 0 關注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號