Javascript 多个 "try"s

标签 javascript function try-catch expression metaprogramming

我们都知道JS中的基本转义机制:

try {
    ...
}
catch(err) {
    ..
}

我有一个 JSON 数据,我想在其中检查潜在客户是否有全名。如果没有,请尝试用名字和姓氏字段组成一个(我实际上在那里硬编码了一个空格,这也是一个问题。)最后,如果全部失败,则显示“No Name”。

或者伪代码:

try {
    name = lead['Details']['Name']['Full'];
} else try {
    name = lead['Details']['Name']['First'] + " " + lead['Details']['Name']['Last'];
} catch (e) {
    name = "No Name";
}

有什么建议吗?

最佳答案

您可以将第二个 try/catch block 嵌套在第一个 try/catch block 的异常 block 中,如下所示:

try {
    name = lead['Details']['Name']['Full'];
} catch(ex0) {      
  try {
      name = lead['Details']['Name']['First'] + " " + lead['Details']['Name']['Last'];
  } catch (ex1) {
      name = "No Name";
  }
}

这是有效的语法,并且在功能上等同于您所需要的

关于Javascript 多个 "try"s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51959181/

相关文章:

javascript - 如何更高效地生成大量HTML

javascript - 无法将文本颜色设置为较早的值

python - 如何遍历数据框的所有行以将查找函数应用于字符串值并将结果应用于新列?

r - 转换数据框列类型的函数

php - 如何使用try catch

javascript - 引导表中的 vue v-select

javascript - (this) 在函数声明之后

c - 定义数组时出错

java - 在 try/catch block 中捕获异常后继续执行循环

c# - 空捕获 block