折叠

Educoder - Java面向对象 - Java中的异常

第1关:Java 中的异常处理机制

  1、选择题:

  

  2、答案:

    B       ACE       D

 

第2关:捕获异常

  1、编程要求:

    编辑器中的代码运行时可能会有异常,请利用本关知识处理该异常。

 

  2、测试效果:

  补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。

  输入: 4 2

  输出: 2

  输入: 4 0

  输出: 除数不能为0

 

  3、代码展示:

package step2;

import java.util.Scanner;

public class Task {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num1 = sc.nextInt();
        int num2 = sc.nextInt();
        /********* Begin *********/
        try{
            int b =num1/num2;
        }catch(ArithmeticException e){
            System.out.println("除数不能为0");
        }
        System.out.println(num1/num2);
        
        
        /********* End *********/
    }

}

 

第3关:抛出异常

  1、编程要求:

    异常的抛出和处理。

  2、测试效果:  

    补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。

    预期输出:该文件不存在

  3、代码展示:

    

package step3;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class Task {
    /********* Begin *********/
    //请在合适的部位添加代码
    public static void main(String[] args) throws FileNotFoundException       {    
        test();
    }
    public static void test() throws FileNotFoundException           {
        File file = new File("abc");
        if(!file.exists()){        //判断文件是否存在
            //文件不存在,则 抛出 文件不存在异常
            throw new FileNotFoundException("该文件不存在");
        }else{
            FileInputStream fs = new FileInputStream(file);
        }
    }
    /********* End *********/
}

 

第4关:自定义异常 

  1、编程要求:

  定义一个自定义异常,判断用户名是否小于三位,如果用户名小于三位,就抛出一个自定义异常。

 

  2、测试效果:

 

  补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。

  输入:

  admin

  输出:

  用户名格式正确

  输入:

  ab

  输出:

  Exception in thread "main" step4.MyException: 用户名小于三位Exception at step4.Task.main(Task.java:13)

  注意:因为抛出异常时会显示行号,请在13行抛出异常,否则评测可能不通过。

 

  3、代码展示:

package step4;

import java.util.Scanner;

public class Task {
    /********* Begin *********/
    public static void main(String[] args) throws  MyException{
        Scanner sc = new Scanner(System.in);
        String username = sc.next();


        //判断用户名
        char[] chs = username.toCharArray();//字符串转字符数组
        
        if(chs.length <3){
            throw new MyException("用户名小于三位Exception");
        }System.out.print("用户名格式正确");
        
    }
}

class MyException extends Exception{
    public MyException(String m){
        super(m);
    }
}

/********* End *********/

 

posted @ 2020-09-25 20:20  Coverpast  阅读(2920)  评论(0编辑  收藏  举报