【问题标题】:Want a code to be written without throwing exception想要编写代码而不抛出异常
【发布时间】:2018-07-06 07:58:44
【问题描述】:

我有以下代码。

import java.io.*;
public class FileTest {
    public static void main(String[] args) throws IOException {
        WriteLinesToFile("miss.txt","This is a special file");
    }

    public static void WriteLinesToFile(String outputFileName, String lineConverted) throws IOException {
        File f = new File(outputFileName);
        if (f.createNewFile()) {
            System.out.println("File is created!");
            FileWriter writer = new FileWriter(f);
            writer.write(lineConverted);
            writer.close();
        } else {
            System.out.println("File already exists.");
            FileWriter writer = new FileWriter(f);
            writer.write(lineConverted);
            writer.close();
        }
    }
}

我需要相同的逻辑,而不抛出异常。谁能告诉我该怎么做?

【问题讨论】:

  • 所以你有一段代码因为有问题而抛出异常?您可能应该...解决问题,而不是尝试不抛出异常。另请注意,按照惯例,方法以非大写字母开头,因此应为writeLinesToFile
  • “不抛出异常”是什么意思?您的意思是要避免方法中的throws 子句?
  • 你的缩进怎么了?
  • 你的代码会抛出异常吗?或者正如@Kayaman 所说,您对在方法声明中添加throws IOException 不满意?如果是后者,请阅读checked exceptions
  • 如果由于各种原因无法写入文件,您希望发生什么而不是抛出异常?顺便说一句,我认为没有任何方法可以写入文件而不会有一点异常风险。

标签: java java-8


【解决方案1】:

您可以使用 try{} catch(IOException e){}

处理您的异常

但是处理异常很重要,否则你的程序会做一些事情,但不是你想要的。

import java.io.*;
public class FileTest {
public static void main(String[] args)
{
    writeLinesToFile("miss.txt", "This is a special file");
}

public static void writeLinesToFile(String outputFileName, String lineConverted){
    File f = new File(outputFileName);
    try {
        if (f.createNewFile()) {
            System.out.println("File is created!");
            FileWriter writer = new FileWriter(f);
            writer.write(lineConverted);
            writer.close();
        } else {
            System.out.println("File already exists.");
            FileWriter writer = new FileWriter(f);
            writer.write(lineConverted);
            writer.close();
        }
    }
    catch(IOException e){
        //Handle your error
    }
}}

但你根本无法消除异常,因为在 java 中处理文件总是会抛出异常(例如,如果找不到文件)。

【讨论】:

    猜你喜欢
    • 2012-11-28
    • 1970-01-01
    • 2013-02-09
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    • 1970-01-01
    • 2018-02-10
    相关资源
    最近更新 更多