Hall of Shame del Java
Què retorna el següent fragment de codi?
for(;;) {
try {
return 1;
} finally {
break;
}
}
return -1;
Retorna 1 o -1 ? La resposta és -1!!!
I aquest tros de codi?
while (true) {
try {
return;
} finally {
continue;
}
}
No retorna mai, es queda sempre en bucle!!!
I aquest tros de codi?
try {
if (1 == 1) throw new Exception("1");
} catch Exception(e) {
throw(e);
} finally {
return 1;
}
No generarà excepció i retornarà 1!!!
Aquestes i moltes altres coses passa amb Java.
Més informació