codeql-coding-standards
codeql-coding-standards copied to clipboard
`A15-1-3`: Detection of duplicated exceptions on function templates
Affected rules
- A15-1-3
Description
When defining a function template which throws an exception, A15-1-3 warning is triggered, meaning that the exception is not unique.
Example
template <typename T>
void false_positive() {
throw std::runtime_error{"message"}; // Triggers A15-1-3 warning
}
Thanks for reporting!
This occurs because we have a separate representation for each template instantiation in our database representation of the program, so we consider the exception to be "duplicated" in each instantiation. The AUTOSAR rule does not clarify the expected behaviour in this case, but I believe it would be reasonable to not report this case.