首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何抛出InvalidArgumentException JavaScript?

如何抛出InvalidArgumentException JavaScript?
EN

Stack Overflow用户
提问于 2016-07-01 12:53:47
回答 3查看 22K关注 0票数 17

目标

将InvalidArgumentException抛到JavaScript方法中,就像在Java或类似语言中那样。

背景

我一直试图熟悉JavaSctipt错误处理,并且我知道我可以使用throw关键字抛出异常。

为了实现这一点,我还阅读了抛出MDN上的文档MDN错误文档

问题

到目前为止这是我的代码:

代码语言:javascript
复制
if (mySize >= myArray.length)
    throw new Error("InvalidArgumentExcpetion - BANG!!!!");

这段代码给我带来了一些问题:

  1. 我在特例中有文本。现在我有了爆炸,但明天我可能想要爆炸,如果我决定改变它,我必须到处寻找!
  2. 我使用的是一个错误,而不是一个类型为InvalidArgumentExcpetion的新对象。这样做对吗?

问题

所以我现在很困惑。

  1. 我应该创建一个新对象,如抛出文档中的对象,还是创建一个错误消息?
  2. JavaScript没有我可以使用的InvalidArgumentException对象吗?
  3. 我应该如何进行,才能有一种可维护的方式抛出使用ECMA6的错误
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-07-06 14:09:52

在做了研究之后,我终于找到了一个我喜欢的解决方案。对于Toan来说,这是个特别的荣誉,我很乐意选择他的答案,但是由于我确实觉得这还有点不完整,所以我决定用我自己的发现来创造我自己的答案。希望它能帮到别人!

问题:

  1. 使用Toan:https://stackoverflow.com/a/38146237/1337392提出的解决方案
  2. 这是一种可能,尽管如果您想要定制,您确实需要创建您自己的对象。

答案:

  1. 如果要根据异常类型(如Java中的异常类型)处理异常,则应该创建一个新的对象,如文档中的对象。(阮东安)
  2. Javascript没有InvalidArgumentException (由Toan编写)
  3. 在重新研究之后,我找到了这个解决方案:https://stackoverflow.com/a/32750746/1337392

演职人员:

  • 阮托安,他的第一个答案和他的伟大思想
  • 大卫·韦克斯特伦( David M)提出了一篇文章,这篇文章导致了一篇博客,而我正在寻找的答案就是。

谢谢大家的帮助!所有的kudos++!

票数 16
EN

Stack Overflow用户

发布于 2017-06-08 08:32:07

我一直在尝试熟悉JavaSctipt sic错误处理,我知道我可以抛出异常.但明天我可能想要烟筒..。

如果TypeErrorSyntaxError更有意义,您可以抛出它们。但不用太花哨了。只需抛出一个带有消息的Error,就像您已经在做的那样:

代码语言:javascript
复制
if (myArray && myArray.length < mySize) throw new Error('`mySize` must be larger');

如果你决定明天你想要烟筒:

代码语言:javascript
复制
if (!myBong) throw new Error('Officer, that is not `myBong`');

有关内置错误类型读文档的更多信息。

票数 9
EN

Stack Overflow用户

发布于 2016-07-01 13:06:56

请见下文的答复:

  1. 如果要根据异常类型(如Java中的异常类型)处理异常,则应该创建一个新的对象,如文档中的对象。
  2. 如果不想到处查找消息,请创建一个新的错误列表,就像在Java中一样。例如: 让错误={ invalidOperation:‘无效操作’,unAuthorized:‘您无权使用此函数’,} 并使用它们来代替硬编码字符串,例如 抛出新的InvalidOperationException(errors.invalidOperation);
  3. InvalidArgumentException.没有JavaScript
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38145977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档