知识背景
try
语句包含了由一个或者多个语句组成的try
块, 和至少一个catch
块或者一个finally
块的其中一个,或者两个兼有, 下面是三种形式的try
声明:
try...catch
try...finally
try...catch...finally
catch
子句包含try
块中抛出异常时要执行的语句。也就是,你想让try
语句中的内容成功, 如果没成功,你想控制接下来发生的事情,这时你可以在catch
语句中实现。 如果在try
块中有任何一个语句(或者从try
块中调用的函数)抛出异常,控制立即转向catch
子句。如果在try
块中没有异常抛出,会跳过catch
子句。
finally
子句在try
块和catch
块之后执行但是在下一个try
声明之前执行。无论是否有异常抛出或捕获它总是执行。
你可以嵌套一个或者更多的try
语句。如果内部的try
语句没有catch
子句,那么将会进入包裹它的try
语句的catch
子句。
你也可以用try
语句去处理 JavaScript 异常。参考JavaScript 指南了解更多关于 Javascript 异常的信息。
代码实战
/**
* @function 获取有效的JSON序列化值
* @param {string} JsonString
* */
const getValidJSON = (JsonString) => {
let result = [];
try {
result = JSON.parse(JsonString);
} catch (error) {
window.console.log(`JSON error : ${
error}`);
}
window.console.log(result);
return result;
}