En la programación en C, donde tiene que limpiar manualmente, hay mucho que decir para el retorno de un punto. Incluso si no hay necesidad en este momento de limpiar algo, alguien podría editar su función, asignar algo y necesitar limpiarlo antes de regresar. Si eso sucede, será un trabajo de pesadilla revisar todas las declaraciones de devolución.
En la programación C ++ tienes destructores e incluso ahora guardias de salida de alcance. Todo esto debe estar aquí para garantizar que el código sea seguro para excepciones en primer lugar, por lo que el código está bien protegido contra la salida anticipada y, por lo tanto, hacerlo no tiene un inconveniente lógico y es puramente un problema de estilo.
No tengo suficiente conocimiento sobre Java, si se llamará "finalmente" al código de bloque y si los finalizadores pueden manejar la situación de la necesidad de garantizar que algo suceda.
C # Ciertamente no puedo responder.
El lenguaje D le brinda protectores de salida de alcance incorporados y, por lo tanto, está bien preparado para la salida temprana y, por lo tanto, no debe presentar un problema que no sea el estilo.
Las funciones, por supuesto, no deberían ser tan largas en primer lugar, y si tiene una gran declaración de cambio, su código probablemente también esté mal factorizado.