繁体   English   中英

如何在新的错误对象 Javascript 的消息中放置换行符?

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM