- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
protected IOException copyRange(InputStream istream, ServletOutputStream ostream) {
// Copy the input stream to the output stream
IOException exception = null;
byte buffer[] = new byte[input];
int len = buffer.length;
while (true) {
try {
len = istream.read(buffer);
if (len == -1) {
break;
}
ostream.write(buffer, 0, len);
} catch (IOException e) {
exception = e;
len = -1;
break;
}
}
return exception;
}
Си-стайл в исходниках Tomcat. Зачем кидать исключения, если их можно возвращать вместо кода ошибки?
Это как?
Сегодня покрывается IOException, а завтра - может быть уже и нет. С точки зрения развития кода подход, который заключается в возврате исключения через return, трудно поддерживать.
Это все таки не хеловолд и производительность имеет значение.
К.О.
В этом случае его вообще ловить на этом уровне не надо было, все равно сразу break и return происходит.