Primero ejecute try, si hay una excepción, ejecute catch y finalmente ejecute de todos modos.
Una función definitivamente ejecutará la parte finalmente.
Con respecto al proceso de ejecución de una función, cuando hay un retorno, la función almacenará los datos en una ubicación determinada y luego le dirá a la función principal que no la ejecutaré más, usted puede ejecutarla a continuación, por lo que la función será lanzado.
Pero cuando finalmente aparece en una función, finalmente siempre se ejecutará. Por lo tanto, incluso si se ha ejecutado return en try o catch, la función no saldrá en este momento y no le indicará a la función principal que se ejecute. para que finalmente se ejecute, luego regrese y dígale a la función principal que lo ejecute. En este momento, si return aparece finalmente, el valor de return sobrescribirá el valor en try o catch, y luego se le indicará a la función principal: Yo no lo ejecutaré, tú ve y ejecútalo. Entonces, la función principal obtendrá finalmente el valor de retorno. Es decir, el valor de retorno de la subfunción es siempre el valor de retorno finalmente (siempre que haya un valor en la función llamada)