如何javascript尝试... catch语句工作

chr*_*ude 6 javascript try-catch

我试图在浏览器中测试某些输入字段是否有效.我试图使用一个我从未使用过的try ... catch语句.我知道表格是:

try {
//some code
} catch (){
//some error code
};
Run Code Online (Sandbox Code Playgroud)

在catch语句之后应该在括号中放置什么?当我尝试使用该语句时,无论是否出错,它都会通过catch语句运行所有内容.我究竟做错了什么?

str*_*ger 10

请参阅MDN上" try...catch声明"指南.

简而言之,try/catch用于处理异常(使用该throw语句"抛出" ).try/catch的语法是:

try {
    // Code
} catch (varName) {              // Optional
    // If exception thrown in try block,
    // execute this block
} finally {                      // Optional
    // Execute this block after
    // try or after catch clause
    // (i.e. this is *always* called)
}
Run Code Online (Sandbox Code Playgroud)

varName仅适用于catch块的范围.它引用抛出的异常对象(可以是任何类型的对象,例如a String,但通常是Error对象).

  • catch标识符实际上并不需要是唯一的(我认为这是JSLint的东西),当`catch`语句运行时,范围被扩充,包含名称与标识符一样的属性的对象被添加到范围链中,如果另一个标识符存在于具有相同名称的作用域中,它将被简单地隐藏在`catch`块中. (2认同)