我在一个相当大的项目中使用 TypeScript,我想知道使用 "错误 "的标准是什么。例如,我在 Java 中处理了一个索引越界异常:
throw new IndexOutOfBoundsException();
在 TypeScript 中,相应的语句会是
throw new Error("Index Out of Bounds");
还有什么其他方法可以实现这一目标?公认的标准是什么?
有人在评论中贴出了这个 MDN 链接,我认为它很有帮助。它非常详尽地描述了 ErrorTypes 等内容。
EvalError --- 创建一个实例,代表全局函数 eval() 发生的错误。 >; InternalError --- 创建一个表示 JavaScript 引擎内部错误时发生的错误的实例。例如 "太多递归"。 >; RangeError--创建一个实例,表示当数值变量或参数超出其有效范围时发生的错误。 范围时发生的错误。 >; ReferenceError -- 创建一个实例,表示在删除无效引用时发生的错误。 >; SyntaxError --- 创建一个实例,表示在 eval() 中解析代码时发生的语法错误。 >; TypeError -- 创建一个实例,表示当变量或参数不是有效类型时发生的错误。 >; URIError --- 创建一个实例,表示当 encodeURI() 或 decodeURI() 传递无效参数时发生的错误。
通过 Exception 发送和显示消息的简单解决方案。
try {
throw new TypeError("Error message");
}
catch (e){
console.log((<Error>e).message);//conversion to Error type
}
如果我们不知道从代码块中可以发出什么样的错误,上面的解决方案就不可行。在这种情况下,应使用类型保护并对适当的错误进行适当处理--请参阅 @Moriarty 的解答。