[owncloud-devel] Defensive programming
dev at bernhard-posselt.com
Wed Feb 4 12:20:13 GMT 2015
Take a look at this stackoverflow answer :)
It should outline perfectly well when to throw exceptions
On 02/04/2015 01:14 PM, Vincent Petry wrote:
> After debugging several bugs, I recently found that many pieces of the
> core code is assuming that a function call will always return the
> expected value.
> There were many scenarios where a given bug was causing \OCP::getUser()
> to return null but the code would carry on working with that null value,
> and cause side-effects:
> I suggest that from now on we try and code more defensively.
> This means that we want to check for correct values more often.
> For example when the current user is needed, check for "null" afterwards
> and throw an exception / log a warning instead of letting the code continue.
> Here is another example: https://github.com/owncloud/core/issues/13862
> And here when `getRelativePath()` fails, it is not a normal situation,
> we need to throw an exception instead of continuing:
> What do you think ?
> I have raised https://github.com/owncloud/core/issues/13885 with a list
> of cases that can be fixed. If you know of other places in the code that
> can be improved that way, please add them in the checklist (and/or
> submit a PR to fix them)
> Devel mailing list
> Devel at owncloud.org
More information about the Devel