- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
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/
MDC 表示要这样做,但也表示他们认为这只是一个 FireFox 扩展: 实时代码:http://jsfiddle.net/vQsUX/ try { throw("InvalidNameExc
有谁知道您可以使用哪种编程语言: when( expression ){ do stuff } 它应该在某个数组中注册表达式和代码块,然后由后台线程每 Q 毫秒/微秒/纳秒解析一次,并且对于每个计算结
我有一个正在单元测试的应用程序。在正常使用情况下,App Delegate 会设置并开始运行。然而,当我运行我的单元测试时,我希望 App Delegate 不做太多事情,如果有的话。我将如何着手完成
这个想法基本上是用自定义功能扩展一些存储库。所以我得到了这个设置,它确实有效! @MappedSuperclass abstract class MyBaseEntity { @Id
我是一名优秀的程序员,十分优秀!