[英]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.