This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org
Difference between revisions of "Catch NullPointerException"
From OWASP
Weilin Zhong (talk | contribs) |
Weilin Zhong (talk | contribs) |
||
| Line 1: | Line 1: | ||
{{Template:Vulnerability}} | {{Template:Vulnerability}} | ||
| + | {{Template:Fortify}} | ||
| + | |||
| + | ==Abstract== | ||
| + | |||
| + | It is generally a bad practice to catch NullPointerException. | ||
==Description== | ==Description== | ||
| + | |||
| + | Programmers typically catch NullPointerException under three circumstances: | ||
| + | |||
| + | # The program contains a null pointer dereference. Catching the resulting exception was easier than fixing the underlying problem. | ||
| + | # The program explicitly throws a NullPointerException to signal an error condition. | ||
| + | # The code is part of a test harness that supplies unexpected input to the classes under test. | ||
| + | Of these three circumstances, only the last is acceptable. | ||
==Examples == | ==Examples == | ||
| + | |||
| + | The following code mistakenly catches a NullPointerException. | ||
| + | |||
| + | <pre> | ||
| + | try { | ||
| + | mysteryMethod(); | ||
| + | } | ||
| + | catch (NullPointerException npe) { | ||
| + | } | ||
| + | </pre> | ||
==Related Threats== | ==Related Threats== | ||
| Line 16: | Line 38: | ||
==Categories== | ==Categories== | ||
| − | |||
| − | |||
[[Category:Error Handling Vulnerability]] | [[Category:Error Handling Vulnerability]] | ||
Revision as of 17:03, 19 July 2006
This is a Vulnerability. To view all vulnerabilities, please see the Vulnerability Category page.
Abstract
It is generally a bad practice to catch NullPointerException.
Description
Programmers typically catch NullPointerException under three circumstances:
- The program contains a null pointer dereference. Catching the resulting exception was easier than fixing the underlying problem.
- The program explicitly throws a NullPointerException to signal an error condition.
- The code is part of a test harness that supplies unexpected input to the classes under test.
Of these three circumstances, only the last is acceptable.
Examples
The following code mistakenly catches a NullPointerException.
try {
mysteryMethod();
}
catch (NullPointerException npe) {
}