[ 
https://issues.apache.org/jira/browse/IO-564?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hao Zhong updated IO-564:
-------------------------
    Description: 
When I call the ByteArrayOutputStream.write method, it returns exceptions. Its 
API document  is not quite useful, since it does not define any rules. From the 
thrown exceptions, I cannot get any useful information either. Until I read the 
code, I understand its usage:
{code}
 public void write(final byte[] b, final int off, final int len) {
 if ((off < 0)
                || (off > b.length)
                || (len < 0)
                || ((off + len) > b.length)
                || ((off + len) < 0)) {
            throw new IndexOutOfBoundsException();
        } else if (len == 0) {
            return;
        }
...
}
{\code}
Would you please explicitly introduce the rules in the doucment? Or, would you 
please add more messages to the thrown exception? Both ways can make the API 
easier to understand.

  was:
When I call the ByteArrayOutputStream.write method, it returns exceptions. Its 
API document  is not quite useful, since it does not define any rules. From the 
thrown exceptions, I cannot get any useful information either. Until I read the 
code, I understand its usage:
 public void write(final byte[] b, final int off, final int len) {
 if ((off < 0)
                || (off > b.length)
                || (len < 0)
                || ((off + len) > b.length)
                || ((off + len) < 0)) {
            throw new IndexOutOfBoundsException();
        } else if (len == 0) {
            return;
        }
...
}
Would you please explicitly introduce the rules in the doucment? Or, would you 
please add more messages to the thrown exception? Both ways can make the API 
easier to understand.


> The rules of ByteArrayOutputStream.write are not documented.
> ------------------------------------------------------------
>
>                 Key: IO-564
>                 URL: https://issues.apache.org/jira/browse/IO-564
>             Project: Commons IO
>          Issue Type: Improvement
>          Components: Streams/Writers
>    Affects Versions: 2.6
>            Reporter: Hao Zhong
>
> When I call the ByteArrayOutputStream.write method, it returns exceptions. 
> Its API document  is not quite useful, since it does not define any rules. 
> From the thrown exceptions, I cannot get any useful information either. Until 
> I read the code, I understand its usage:
> {code}
>  public void write(final byte[] b, final int off, final int len) {
>  if ((off < 0)
>                 || (off > b.length)
>                 || (len < 0)
>                 || ((off + len) > b.length)
>                 || ((off + len) < 0)) {
>             throw new IndexOutOfBoundsException();
>         } else if (len == 0) {
>             return;
>         }
> ...
> }
> {\code}
> Would you please explicitly introduce the rules in the doucment? Or, would 
> you please add more messages to the thrown exception? Both ways can make the 
> API easier to understand.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to