...
This compliant solution explicitly checks for the unexpected condition and handles it appropriately.:
Code Block | ||||
---|---|---|---|---|
| ||||
if (a == b) { /* ... */ } else if (a == c) { /* ... */ } else { /* Handle error condition */ } |
...
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
Compass/ROSE | Can detect some violations of this recommendation. In particular, it flags switch statements that do not have a default clause. ROSE should detect "fake switches" as well (that is, a chain of if (x > 0) { /* ... */ } else if (x < 0) { /* ... */ } else if (x == 0) { /* ... */ } | ||||||||
GCC |
| Can detect some violations of this recommendation when the | |||||||
Klocwork |
| LA_UNUSED | |||||||
| 12 S | Fully implemented. | |||||||
PRQA QA-C |
| 0597 | Fully implemented |
...