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

How to put a newline in the message of a new Error object Javascript?

本文关键字:消息 换行符 Javascript 对象 错误      更新时间:2023-09-26

我在一个服务中有这样一个函数:

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属性我在代码中编写了一个新功能,所以我没有移动任何CSS,也没有想到它。但是,是的,CSS摆脱了'n在Javascript中添加。

很抱歉没有从一开始就检查这么简单的事情。

使用'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.