Handling Errors
Unexpected input, or some other problematic circumstance, often leads to functions not
being able to do what they are supposed to do. Take, for example, this function, between
, which extracts the part of a string between two substrings:
function between(string, start, end) {
var startAt = string.indexOf(start) + start.length;
var endAt = string.indexOf(end, startAt);
return string.slice(startAt, endAt);
}
between("Louis 'Pops' Armstrong", "'", "'");
→ "Pops"
When start
or end
is not found in the input, what
should this function do? It cannot return what it is supposed to return, because the
question it was asked doesn’t make sense.
Returning a Special Value
When a function encounters a problem that it cannot solve itself, one possible ...
Get Eloquent JavaScript now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.