正确使用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 }