1
gouflv 2022-12-01 10:58:52 +08:00
TS 目前还没有 Java 一样的 Throw 声明,所以需要自己手动判断错误类型再处理
|
2
Trim21 2022-12-01 11:06:24 +08:00 via Android
catch 块只能是 unknown 或者 any 类型,不能是其他类型。
我记忆中曾经有过一段时间,Promise 这个泛型类型可以接受第二个参数作为 reject 的 error 类型? |
3
optional 2022-12-01 11:07:44 +08:00 via iPhone
checked exception javar 都不喜欢用,你还想把它捡起来。。。
|
4
Trim21 2022-12-01 11:09:09 +08:00 via Android
@gouflv 这个主要是因为 js 可以随便 throw ,catch 只能 catch 所有的 throw ,不能针对一个特定类型进行 catch 。所以 ts 也不支持指定 catch 的类型。
|
5
retrocode 2022-12-01 11:18:55 +08:00
如果是团队内的业务代码的话, 可以考虑自定义一个 eslint 规则做约束, 挺方便的, 不是很难, 依赖就没办法了
|
6
rabbbit 2022-12-01 11:41:18 +08:00
|
7
daguaochengtang OP @retrocode 就是业务代码,这个能稍微展开讲讲怎么做吗?
|
8
daguaochengtang OP @rabbbit 谢谢,果然是万 V 友
|
9
daguaochengtang OP @Trim21 这个是历史上有提案没有成为标准吗,还是被废弃了,知道可以在哪里查看相关的文档吗?
|
10
Trim21 2022-12-01 14:55:16 +08:00 via Android
@daguaochengtang 大概率只是我记错了,我在 playground 看了一下 tsv3v4 都没有第二个参数。
|