gpt4 book ai didi

javascript - 你如何根据王位值(value)做事?

转载 作者:行者123 更新时间:2023-12-02 20:27:58 26 4
gpt4 key购买 nike

MDC 表示要这样做,但也表示他们认为这只是一个 FireFox 扩展:

实时代码:http://jsfiddle.net/vQsUX/

try {  
throw("InvalidNameException");
}

catch (e if e == "InvalidNameException") {
document.write(e)
}

catch (e if e == "InvalidIdException") {
document.write(e)
}

catch (e if e == "InvalidEmailException") {
document.write(e)
}

我怎样才能做一个适用于所有浏览器的类似的事情?

最佳答案

只需捕获对象并在单个 catch block 中对其进行评估:

try {
// stuff
}
catch (exc) {
if (exc === "InvalidNameException") {
// do something
}
else if (exc === "whatever") {
// do something else
}
}

由于异常只是对象,并且您可以抛出任何您喜欢的东西,因此您始终可以开发自己的更复杂的异常结构。异常对象可以有要运行的代码、数字键,无论您需要什么。也就是说,我从未发现 Javascript 中复杂的异常机制有多大用处;它似乎并没有出现太多。尽管如此:

function riskyCodeHere() {
// scary dangerous things
if (badThings()) {
throw {
key: 207,
badnessLevel: "terrible",
toString: function() {
return "Things have gotten " + this.badnessLevel;
}
};
}
}

// ...

try {
riskyCodeHere();
}
catch (b) {
switch (b.key) {
case 207: console.log(b.toString());
// ...
}
}

关于javascript - 你如何根据王位值(value)做事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4554827/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com