return关键字在异常处理中的坑

    科技2023-10-27  80

    import java.util.Scanner; public class Main { public static void main(String[] args) { int result=test(); System.out.println("one+two:"+result); } public static int test() { Scanner input=new Scanner(System.in); System.out.println("==========start"); try { System.out.println("请输入的一个整数:"); int one=input.nextInt(); System.out.println("请输入的一个整数:"); int two=input.nextInt(); return one/two; }catch (ArithmeticException e) { // TODO: handle exception System.out.println("除数不能为0"); return 0; }finally { System.out.println("==========end"); return -100000; } } }

    正常输入:12和3的结果应为:4 但java在try-catch-finally多次使用return关键字的时候,finally中的return会覆盖前面的return,这个一定要注意!解决方法:将finally中的return删掉

    最后成功运行。

    Processed: 0.021, SQL: 8