[ 
https://issues.apache.org/jira/browse/STDCXX-466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12514815
 ] 

Martin Sebor commented on STDCXX-466:
-------------------------------------

The rationale for this change from 
http://www.mail-archive.com/stdcxx-dev@incubator.apache.org/msg01251.html:

Consider these two examples:

    string s ("abc");
    s.find ("def", 0, 5);
    s.find ("def", 0, -1);

There is no way for us to detect that 5 is too large in the first call to 
find() so the the function returns npos because
"def" is not found. But in the second example which is equally invalid we 
throw, even though we could just as easily return npos. I think we might as 
well return npos is all such cases for consistency. Doing so also simplifies 
the implementation.

> basic_string<>::rfind() throws length_error(), but should return npos
> ---------------------------------------------------------------------
>
>                 Key: STDCXX-466
>                 URL: https://issues.apache.org/jira/browse/STDCXX-466
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 21. Strings
>    Affects Versions: 4.2
>         Environment: All
>            Reporter: Farid Zaripov
>            Assignee: Farid Zaripov
>
> The details are here: 
> http://www.mail-archive.com/stdcxx-dev@incubator.apache.org/msg03795.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to