为什么我应该使用try-catch?

时间:2019-01-22 11:34:50

标签: java

早上好, 为什么在视频课程中,一个人没有使用try-catch,如果我不使用try-catch,我在createnewFile(),FileWriter等上出现错误IOException。 也许这很容易,我来自c ++,这对我来说是个大问题。

那是我的代码: PS。抱歉“最好的英语”

public static void main(String[] args) {
    System.out.println("Hello World");
    File file1 = new File("temp.txt");
    if(!file1.exists()) {
        System.out.println("Creating file...");
        try
        {
            file1.createNewFile();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }

    try
    {
        FileWriter fw = new FileWriter(file1);
        BufferedWriter out = new BufferedWriter(fw);
        out.write("aString");
        out.flush();
        out.close();

        FileReader fr = new FileReader(file1);
        BufferedReader in = new BufferedReader(fr);
        while(in.ready()) {
            System.out.println(in.readLine());
        }
    }
    catch (IOException e)
    {
        e.printStackTrace();
    }
}

2 个答案:

答案 0 :(得分:1)

我们使用try-catch块来维护代码的执行流程。 如果发生异常,它将捕获块,并通过e.printStackTrace向我们提供信息,说明发生异常的原因,我们可以使用逻辑在这里进行处理。 如果我们不使用try-catch,那么代码流将停留在发生异常的地方。 这就是为什么我们使用try-catch块。

答案 1 :(得分:0)

Java要求您在代码中处理已检查的异常,方法是指定您的方法可以引发异常,或者使用try-catch块对其进行处理。如果您在调用可能引发检查异常的方法(例如IOException)时未执行上述两项操作之一,则编译器将产生错误。

您可以在这里了解Java中的异常:Lesson: Exceptions(Oracle Java教程)。

具体来说:The Catch or Specify Requirement