0
如何在流星中偵聽未捕獲的異常錯誤?如何處理Meteor中未捕獲的異常錯誤?
錯誤當然是特定於原因的,所以請您提供僞代碼/說明,說明處理此錯誤的概念。
一個例子使用案例:
用戶點擊「註銷」,但有一個未捕獲的異常,並且用戶不會被註銷,因此對服務器的連接保持打開狀態。
如何在流星中偵聽未捕獲的異常錯誤?如何處理Meteor中未捕獲的異常錯誤?
錯誤當然是特定於原因的,所以請您提供僞代碼/說明,說明處理此錯誤的概念。
一個例子使用案例:
用戶點擊「註銷」,但有一個未捕獲的異常,並且用戶不會被註銷,因此對服務器的連接保持打開狀態。
您可以使用回調函數,它們通常會提供一個reason
參數。例如
Meteor.call("some_random_non_existent_method", function(err, result) {
if(err) return alert(err.reason)
});
大多數流星迴調有一個error
參數。隨着註銷其Meteor.logout(function(err) { ... })
你應該能夠捕捉這樣的大多數類型的錯誤。如果你想捕獲所有的錯誤,你可以使用try..catch。 try
塊中的所有內容都會嘗試運行,直到它引發錯誤。您可以catch
這並提供反饋給用戶。
try {
//This will throw an error
this.run_something.go_make_error()
}catch(e) {
alert("There was an error running this");
}
所以,如果趕上(或更具體地說,匹配在Meteor.logout錯誤回調對象未捕獲的異常情況,我將如何註銷用戶? 難道我用「process.exit()」警報後,然後提醒用戶再次嘗試註銷 – meteorBuzz 2015-02-24 14:54:22
@CodeCandy記住'process.exit()'只適用於服務器端,它會完全退出應用程序。如果出現錯誤時用戶登出最好的辦法就是讓他們知道問題出在哪裏,讓他們再試一次,它不可能通過嘗試重新註銷來實現,例如,如果互聯網是但在此情況下無法提供幫助,除了提醒用戶他們可以先重新連接以註銷外。 – Akshat 2015-02-28 14:33:25
謝謝,這個解決方案非常有意義。 – meteorBuzz 2015-02-28 14:45:07