缓冲区读取器抛出异常

我要打“ t”次打招呼。因此,我已经编写了此代码段。


import java.util.*;
import java.io.*;

class Buff
{
    public static void main(String args[])
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        
        int t = Integer.parseInt(br.readLine());
        while(t-->0)
            bw.write("hello");

    }
}

它输出一个异常


Buff.java:11: error: unreported exception IOException; must be caught or declared to be thrown
                String t = br.readLine();
                                      ^
Buff.java:14: error: unreported exception IOException; must be caught or declared to be thrown
                        bw.write("hello");

请帮助!!! PS:即使我抛出IOException也无济于事

iCMS 回答:缓冲区读取器抛出异常

您必须捕获可能的异常(在这种情况下为IOException)。

基本语法如下:

try {
    //Your code here
}
catch(IOException e) {
    //What do you want to do when something went wrong?
}

对于您而言,以下代码将起作用:

import java.util.*;
import java.io.*;

class Buff
{
    public static void main(String args[])
    {
        try {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
            
            int t = Integer.parseInt(br.readLine());

            //Closing Readers and Writers when not needed anymore is good-practice
            br.close();

            //"-->" wasn't working for me in this case
            while(t > 0) {
                bw.write("hello\n");
                t--;
            }
            bw.flush();
            bw.close();
        }

        //Catching possible exceptions
        catch(IOException e) {
            e.printStackTrace();
        }

    }
}
本文链接:https://www.f2er.com/2007448.html

大家都在问