[英]How to create a new Error in javascript when the error message is an object
[英]How to put a newline in the message of a new Error object Javascript?
我在服務中有一個類似這樣的功能:
Policies
是一個函數列表,如果違反了策略,將拋出錯誤(例如密碼沒有數字或大寫字母)
function myFunction(policies, password){
var policiesError = '';
policies.forEach(function(policy) {
try {
policy(password, payload);
} catch (err) {
policiesError += err.message + '\n'; // Also tried `concat()`
}
});
if (policiesError){
throw new Error(policiesError);
}
}
在我的controller
我有:
try{
myService.myFunction(myFunctions, 'password');
} catch (err){
$scope.policiesError = err.message; // Which is used in as {{policiesError}} to display
}
控制器中消息的結果類似於:
"Password too shortPassword has no lettersInvalid characters in password"
但我實際上需要它:
"Password too short
Password has no letters
Invalid characters in password"
這很簡單,但我已經把頭撞在桌子上有一段時間了,這很令人沮喪。
關於如何使用new Error
並捕獲它來實現格式良好的消息的任何建議?
所以,@Bergi 讓我意識到問題出在關於white-space-
的 CSS 屬性上white-space-
我正在我們的代碼中編寫一個新功能,所以我沒有移動任何 CSS 並且沒有想到它。 但是,是的,CSS 正在擺脫在 Javascript 中添加的\\n
。
很抱歉沒有從一開始就檢查這么簡單的事情。
使用\\r\\n
而不僅僅是\\n
。
throw new Error("\r\nLine 1 Error Description.\r\nLine 2 Error Description.");
將返回:
JavaScript Error line(102): // Your error with message below.
Line 1 Error Description.
Line 2 Error Description.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.