The `throw` operator should be more strict
Ouverte
linter
- Langage dominant
- Rust
- Étoiles
- 22.3k
- Forks
- 1.9k
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
I tried searching, but I didn't find any existing issues about this.
Currently, using version 0.30.0 of flow-bin, the following code shows no errors:
```
function foo() {
throw null;
}
function bar() {
throw 5;
}
function qux() {
throw [];
}
```
It seems that the `throw` operator will accept any type.
I think it should only accept `Error`. If that is too restrictive, it could be relaxed to `Error | string`.
This actually bit me when I was writing a function which accepts an optional argument: if the argument is not provided, then it will `throw` `undefined`, which is not what I wanted.
Guide de contribution
Ouvrir le guide de contribution
Évaluation
Cette issue n'a pas encore été évaluée.