gpt4 book ai didi

typescript - 如何在TypeScript中尝试catch和finally语句?

转载 作者:行者123 更新时间:2023-12-03 13:02:10 26 4
gpt4 key购买 nike

我的项目中有错误,我需要使用尝试捕获最终来处理。
我可以在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;
}
注意
正如您在提案讨论中所读到的那样,在JS中,并非所有抛出的内容都必须是 Error实例,因此请提防此假设
也许使用 no-unsafe-any的tslint可以帮助您解决这一问题。

关于typescript - 如何在TypeScript中尝试catch和finally语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54649465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com