• finally执行语句的注意和小陷阱


    1. public class FinallyTest {
    2. public static void main(String[] args) {
    3. int res=div(10,0);
    4. System.out.println(res);
    5. }
    6. public static int div(int a,int b){
    7. int num=0;
    8. try {
    9. num=a/b;
    10. }catch (ArithmeticException e){
    11. System.out.println("算数异常");
    12. }catch (NumberFormatException e){
    13. e.printStackTrace();
    14. }catch (Exception e){
    15. System.out.println("其他异常");
    16. }finally {
    17. System.out.println("一定执行的语句");
    18. }
    19. return num;
    20. }
    21. }

    1. public class FinallyTest {
    2. public static void main(String[] args) {
    3. int res=div(10,0);
    4. System.out.println(res);
    5. }
    6. public static int div(int a,int b){
    7. int num=0;
    8. try {
    9. num=a/b;
    10. }catch (ArithmeticException e){
    11. System.out.println("算数异常");
    12. return 11;
    13. }catch (NumberFormatException e){
    14. e.printStackTrace();
    15. }catch (Exception e){
    16. System.out.println("其他异常");
    17. }finally {
    18. System.out.println("一定执行的语句");
    19. }
    20. return num;
    21. }
    22. }

     

    结论:

    finally 是可选的,一旦写上就一定执行的语句,即使过程中有return也一定执行

    1. /*
    2. finally 是可选的,一旦写上就一定执行的语句,即使过程中有return也一定执行
    3. */
    4. public class FinallyTest {
    5. public static void main(String[] args) {
    6. int res=div(10,0);
    7. System.out.println(res);
    8. }
    9. public static int div(int a,int b){
    10. int num=0;
    11. try {
    12. num=a/b;
    13. }catch (ArithmeticException e){
    14. System.out.println("算数异常");
    15. return 11;
    16. }catch (NumberFormatException e){
    17. e.printStackTrace();
    18. }catch (Exception e){
    19. System.out.println("其他异常");
    20. }finally {
    21. System.out.println("一定执行的语句");
    22. return 22;
    23. }
    24. }
    25. }

     

    1. /*
    2. finally 是可选的,一旦写上就一定执行的语句,即使过程中有return也一定执行
    3. */
    4. public class FinallyTest {
    5. public static void main(String[] args) {
    6. int res=div(10,0);
    7. System.out.println(res);
    8. }
    9. public static int div(int a,int b){
    10. int num=0;
    11. try {
    12. num=a/b;
    13. }catch (ArithmeticException e){
    14. System.out.println("算数异常");
    15. return num;
    16. }catch (NumberFormatException e){
    17. e.printStackTrace();
    18. }catch (Exception e){
    19. System.out.println("其他异常");
    20. }finally {
    21. num+=100;
    22. System.out.println("一定执行的语句");
    23. }
    24. return num;
    25. }
    26. }

    1. /*
    2. finally 是可选的,一旦写上就一定执行的语句,即使过程中有return也一定执行
    3. */
    4. public class FinallyTest {
    5. public static void main(String[] args) {
    6. int res=div(10,0);
    7. System.out.println(res);
    8. }
    9. public static int div(int a,int b){
    10. int num=0;
    11. try {
    12. num=a/b;
    13. }catch (ArithmeticException e){
    14. System.out.println("算数异常");
    15. return num;
    16. }catch (NumberFormatException e){
    17. e.printStackTrace();
    18. }catch (Exception e){
    19. System.out.println("其他异常");
    20. }finally {
    21. num+=100;
    22. System.out.println("一定执行的语句");
    23. return num;
    24. }
    25. }
    26. }

  • 相关阅读:
    和为S的连续正数序列
    c代码实现小技巧
    基于FPGA的飞机的小游戏
    这把联网智能门锁体验感A+
    JS-全局dom对象的使用---使用htm样式和js函数动作的完全分离
    Electron的学习
    【Android】Android Studio 调用 类库
    第59篇 QML 之 JS类型转换为 Number 类型
    使用正则表达式在中英文之间添加空格
    史上最全的15个苹果手机输入法使用技巧,不看后悔三年
  • 原文地址:https://blog.csdn.net/m0_54397364/article/details/126689500