【问题标题】:How to write reusable errors?如何编写可重用的错误?
【发布时间】:2018-12-31 22:03:09
【问题描述】:

我有一个评估对象的函数,如果它为真,它会将对象推入一个空数组,如果它为假,它需要抛出一个错误。如何构造错误,使其可重用,并且可以被其他消息覆盖。是否可以不使用 Try 块?

const object1={
    title: "The Bridge",
    grade:  4.0,
    score: "Drama/Horrorr"
}

const object2={
    title:"Better Call Saul",
    score:7.0,
}
let shows=[];

function Add(param){
   if(param.hasOwnProperty("title") && 
      param.hasOwnProperty("score") &&
      param.hasOwnProperty("genre")) {
      shows.push(param);
      }
   else{
       throw "Object is missing a property !";
   }
   add(object1);
   add(object2);

   try{

   }
   catch(param){

   }

   Add(object1);
   Add(object2);

【问题讨论】:

  • 您可以扩展Error 并构建您自己的自定义错误类。

标签: javascript error-handling throw


【解决方案1】:

使用 try/catch 是 javascript 中最标准的方法。我会坚持这一点,而不是试图对抗潮流。 抛出一个Error对象也是标准抛出的对象

throw new Error('message')

或构造错误并向其添加属性

const err = new Error('message')
err.code = 1234
throw err

如果您想要更可重用的东西,您可以从 Error 类派生一个类并添加您自己的属性。

【讨论】:

    猜你喜欢
    • 2011-02-06
    • 2012-11-11
    • 2020-07-01
    • 1970-01-01
    • 2017-06-04
    • 1970-01-01
    • 2021-08-14
    • 2011-03-10
    • 1970-01-01
    相关资源
    最近更新 更多