为什么我的程序中出现“必须被抓住或被宣布被扔”的信息?

2024-01-05

我已经在这个程序上工作了一段时间了,但我的大脑已经崩溃了。我需要一些正在寻找的人的帮助。

我正在尝试制作一个程序,逐行读取文本文件,并将每一行制成一个ArrayList这样我就可以访问每个令牌。我究竟做错了什么?

import java.util.*;
import java.util.ArrayList;
import java.io.*;
import java.rmi.server.UID;
import java.util.concurrent.atomic.AtomicInteger;

public class PCB {
    public void read (String [] args) {
        BufferedReader inputStream = null;

        try {
            inputStream = new BufferedReader(new FileReader("processes1.txt"));

            String l;
            while ((l = inputStream.readLine()) != null) {
                write(l);
            }
        }
        finally {
            if (inputStream != null) {
                inputStream.close();
            }
        }
    }

    public void write(String table) {
        char status;
        String name;
        int priority;

        ArrayList<String> tokens = new ArrayList<String>();

        Scanner tokenize = new Scanner(table);
        while (tokenize.hasNext()) {
            tokens.add(tokenize.next());
        }

        status = 'n';
        name = tokens.get(0);
        String priString = tokens.get(1);
        priority = Integer.parseInt(priString);

        AtomicInteger count = new AtomicInteger(0);
        count.incrementAndGet();
        int pid = count.get();

        System.out.println("PID: " + pid);
    }
}

我差点把眼珠子都挖出来了。我遇到了三个错误:

U:\Senior Year\CS451- Operating Systems\Project1 PCB\PCB.java:24: unreported exception java.io.IOException; must be caught or declared to be thrown
            inputStream.close();}
                             ^
U:\Senior Year\CS451- Operating Systems\Project1 PCB\PCB.java:15: unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown
        inputStream = new BufferedReader(new FileReader("processes1.txt"));
                                         ^
U:\Senior Year\CS451- Operating Systems\Project1 PCB\PCB.java:18: unreported exception java.io.IOException; must be caught or declared to be thrown
        while ((l = inputStream.readLine()) != null) {
                                        ^

我究竟做错了什么?


当您在 Java 中使用 I/O 时,大多数时候您必须处理 IOException,该异常可能在您读/写甚至关闭流时随时发生。

您必须将敏感块放入 try//catch 块中并在此处处理异常。

例如:

try{
    // All your I/O operations
}
catch(IOException ioe){
    //Handle exception here, most of the time you will just log it.
}

资源:

  • oracle.com - 课程:例外 http://docs.oracle.com/javase/tutorial/essential/exceptions/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我的程序中出现“必须被抓住或被宣布被扔”的信息? 的相关文章

随机推荐

  • 在循环中使用 CSS 实现图像之间的交叉淡入淡出

    我想在循环中的图像之间淡入淡出 就像这里的结果 jsfiddle net 5M2PD http jsfiddle net 5M2PD 但纯粹是通过CSS no JavaScript 我尝试使用关键帧但没有成功 请帮忙 keyframes c
  • Xcode 11 - “无法与帮助应用程序通信。”当尝试添加 Swift 包时

    当我尝试向我的项目添加新的 Swift 包时遇到问题 在 Xcode 11 3 1 上 我收到一条 无法与帮助程序应用程序通信 的消息 错误信息 PS 使用 Xcode 11 4 时 错误消息已更改为 与服务的通信已中断 崩溃报告 查看控制
  • C# 中网络摄像头的使用

    我正在用 C 编写一个程序来连接到网络摄像头并用它进行一些图像处理 我有一个工作应用程序 它使用 win32 api avicap32 dll 连接到网络摄像头并向其发送消息 将其发送到剪贴板 问题在于 虽然可以从绘制中访问 但从程序中读取
  • 更改 ngclick 上的鼠标指针

    I ve a div与角ng click附有指令 将鼠标悬停在该元素上时 鼠标指针不会改变 有没有办法通过CSS改变它 我知道我可以简单地在其上附加一个锚标记 但我想知道是否可以这样做 有没有办法通过css改变它 是的 请参阅cursor
  • Java中如何枚举所有环境变量

    System getenv name 需要环境变量的名称 我正在尝试打电话Runtime exec String String File 第二个参数需要一个环境变量数组 我不确定如果指定此参数 子进程是否会从当前进程继承环境变量 例如 如果
  • Glide 显示错误:无法找到 generatedAppGlideModule

    我正在尝试使用 glide 加载图像 但不知何故我无法使用 glide 加载图像 因为它显示以下错误 找不到GenerateAppGlideModule 您应该在应用程序中包含对 com github bumptech glide comp
  • 比较Python中的时间增量

    我有一个变量是
  • 从 Xcode 中删除领域模型对象

    很久以前 我在 iOS 项目中使用 Realm 但现在不再这样做了 但是 我在 Xcode 中仍然有可用的模板 如下所示 在 Xcode 11 beta 之前 这从来都不是问题 每次运行项目时 我都会在控制台中看到以下内容 错误 模块导入失
  • 参数名称省略,C++ 与 C

    在 C 中 在某些情况下我倾向于省略参数名称 但在 C 中 当我省略参数名称时出现错误 这是代码 void foo int forward decl it s OK to omit the parameter s name in both
  • 分割长字符串而不破坏单词填充行

    在您认为它是重复的之前 有很多问题询问如何在不破坏单词的情况下分割长字符串 请记住我的问题有点不同 顺序并不重要 我必须调整单词才能使用每一行越多越好 我有一组无序的单词 我想在不使用超过 253 个字符的情况下组合它们 def compo
  • 实体框架Database.SetInitializer根本不起作用

    我在这里遇到了这种 神秘 的问题 我目前正在我的 ASP NET MVC 3 应用程序中使用 Entity Framework 4 1 Code First 方法 它工作得很好 直到昨天 发生了非常糟糕的事情 导致我的 Database S
  • AngularJs 资源中的可选 url 参数

    我有这样的资源 var Products resource companies companyId products 问题是 我想通过网址获取所有公司的产品companies products 但使用资源而不提供 companyId 我得到
  • 验证 Node 中的 TypeForm Webhook 负载

    我设置了一个Typeform webhook https developer typeform com webhooks reference create or update webhook 并且运行良好 现在我正试图保护它 但我陷入了困境
  • 使用jsp和javascript异步文件上传(AJAX文件上传)[重复]

    这个问题在这里已经有答案了 我计划进行异步文件上传 也就是说 文件应该上传到 jsp 或 servlet 并返回一些内容到 html jsp 页面 而不需要重新加载原始页面 它应该像 AJAX 调用一样发生 有没有办法用 AJAX 或任何其
  • 如何缩进python记录器打印的多行消息?

    当前行为 DEBUG package 123 gt message with multiple lines foo bar 想要的行为 DEBUG package 123 gt message with multiple lines foo
  • C++ 中类型后面的 ^ 是什么意思?

    我有一些 C 代码 其函数返回类型声明为string or IEnumerable
  • 简写背景属性 (CSS3) 中的背景大小

    我正在尝试混合background image and background size人手不足的房产background财产 基于W3C 文档 http www w3 org TR css3 background background si
  • 使用当前版本的 System.Text.Json.JsonSerializer 序列化 DataSet

    您对我们如何做有什么建议吗序列化数据集 数据表 with System Text Json JsonSerializer 目前它抛出此异常 检测到可能的对象循环 但不受支持 这可能是由于循环造成的 也可能是对象深度大于允许的最大深度 64
  • 以编程方式在 Active Directory 中创建通讯组

    我这里有一个运行 Exchange 2007 的 Windows 域 我需要以编程方式创建新的邮件列表 据我目前所知 Exchange 邮件列表只是普通的 AD 组 因此我主要需要担心与 AD 的交互 我使用 System Director
  • 为什么我的程序中出现“必须被抓住或被宣布被扔”的信息?

    我已经在这个程序上工作了一段时间了 但我的大脑已经崩溃了 我需要一些正在寻找的人的帮助 我正在尝试制作一个程序 逐行读取文本文件 并将每一行制成一个ArrayList这样我就可以访问每个令牌 我究竟做错了什么 import java uti