github / github/codeql

Java: Callable.getAnException() reports thrown exceptions

未关闭
#5,464 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
acknowledged Java not security
主要语言
CodeQL
星标
10.1k
派生
2.1k
平均合并
2 天 15 小时
30 天内合并 PR
141

描述

[`Callable.getAnException()`](https://codeql.github.com/codeql-standard-libraries/java/semmle/code/java/Member.qll/predicate.Member$Callable$getAnException.0.html) is documented as:
> Gets an exception that occurs in the `throws` clause of this callable.

Note how it says `throws` clause, not `throw` statement. Yet it appears to be reporting exceptions which do not appear in the `throws` clause, but appear inside `throw` statements:
```ql
import java

from Method m, Exception e
where
m.fromSource()
and e = m.getAnException()
and not e.fromSource()
select m, e.toString()
```
[Query Console link](https://lgtm.com/query/5757069100542810787/)
The found `Exception` elements also seem to cause issues for the Query Console, see #5465.

(This also affects `Callable.getAThrownExceptionType()` which delegates to `getAnException()`.)

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。