正确使用TypeScript中的错误

我正在使用typescript进行一个相当大的项目,并且想知道使用错误的标准是什么。 例如,假设我在Java中提出了一个超出边界的exception:

throw new IndexOutOfBoundsException(); 

TypeScript中的等价语句是:

 throw new Error("Index Out of Bounds"); 

还有什么其他的方法可以完成这个? 什么是公认的标准?

有人在评论中发布了MDN的链接,我认为这非常有帮助 。 它非常彻底地描述了类似ErrorTypes的东西。

EvalError —创build表示关于全局函数eval()发生的错误的实例。

InternalError —创build表示在引发JavaScript引擎内部错误时发生的错误的实例。 例如“太多的recursion”。

RangeError —创build表示数值variables或参数超出其有效范围时发生的错误的实例。

ReferenceError —创build一个实例,表示解除引用无效引用时发生的错误。

SyntaxError —创build表示在eval()中parsing代码时发生的语法错误的实例。

TypeError —创build表示当variables或参数不是有效types时发生的错误的实例。

URIError —创build表示在encodeURI()或decodeURI()传递无效参数时发生的错误的实例。

JavaScript中超出范围的约定是使用RangeError 。 要检查types使用if / else + instanceof从最具体到最通用的开始

 try { throw new RangeError(); } catch (e){ if(e instanceof RangeError){ console.log('out of range'); } } 

简单的解决scheme来排除和显示exception的消息。

 try { throw new TypeError("Error message"); } catch (e){ console.log((<Error>e).message);//conversion to Error type }