作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的项目中有错误,我需要使用尝试,捕获和最终来处理。
我可以在JavaScript中使用它,但不能在Typescript中使用它。
当我在 typescript catch 语句中将异常(exception)作为自变量时,为什么不接受它?
这是代码。
private handling(argument: string): string {
try {
result= this.markLibrary(argument);
}
catch(e:Exception){
result = e.Message;
}
return result;
}
我在这里需要一个异常消息,但是我听不到。我得到了以下错误。
Catch clause variable cannot have a type annotation.
最佳答案
Typescript不支持catch变量上的注释。有一个建议允许这样做,但仍在讨论中(请参阅here)
您唯一的解决方案是使用类型断言或额外的变量
catch(_e){
let e:Error= _e;
result = e.message;
}
catch(e){
result = (e as Error).message;
}
不幸的是,这也可以正常工作,并且完全不受检查:
catch(e){
result = e.MessageUps;
}
注意
Error
实例,因此请提防此假设
no-unsafe-any
的tslint可以帮助您解决这一问题。
关于typescript - 如何在TypeScript中尝试catch和finally语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54649465/
我是一名优秀的程序员,十分优秀!