初学JAVA,请教一个问题,50分

HT1024 2004-09-15 11:10:14
我在编译的时候遇到这个错误:
Input.java:13: unreported exception java.io.IOException; must be caught or
declared to be thrown
String line = in.readLine();
^
1 error

这是为什么啊?~~
是不是JAVA程序都必须捕获IO异常啊?~~
谢谢~~
...全文
175 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
HT1024 2004-09-16
  • 打赏
  • 举报
回复
谢谢了~~JAVA版的兄弟很热心啊~~
不好意思分有点少了 ~~~
结贴。
redlaputa 2004-09-15
  • 打赏
  • 举报
回复
unreported exception java.io.IOException;
must be caught ordeclared to be thrown
要看东英文
wandou999 2004-09-15
  • 打赏
  • 举报
回复
没抛异常
zh928315 2004-09-15
  • 打赏
  • 举报
回复
大量的视频下载,关于java 学习的,好地方呀


http://www.chinaxin.net//study/get.asp?get=928315
fxhcsdn 2004-09-15
  • 打赏
  • 举报
回复
检查型异常是在throws子句中声明的。Java在检查型异常处理方面非常严格,以避免因为没有处理错误而导致的程序错误。throws子句清楚地表明方法抛出哪些异常,而要调用在throws子句中列出了一种检查型异常的方法时,有三种选择:
1. 捕获并处理异常。
2. 捕获异常,并通过抛出在throws子句中声明过的异常,实现到自身的异常的映射。
3. 只在throws子句中声明异常,而在方法中放任异常。
你现在只能选择1或2.必须用catch捕获异常。

可以阅读一下 Arnold,Gosling,Holmes等著,虞万荣等译的《Java编程语言(第三版)》第8章 中国电力出版社出版
xueqs 2004-09-15
  • 打赏
  • 举报
回复
String line = in.readLine(); 需要捕获或抛出异常
这是java规范的强制规定,否则通不过编译
fxhcsdn 2004-09-15
  • 打赏
  • 举报
回复
异常提供了一种在不弄乱程序的情况下检查错误的巧妙方式。Java中的异常是对象,分为检查型异常和非检查型异常。检查型异常被认为是可以合理发生的,如果这种异常发生,必须调用某种方法处理。而非检查型异常反映的是程序中的逻辑错误,不能从运行中合理恢复。
如果程序在执行过程中遇到意外的错误则抛出异常(throw),然后异常被方法调用栈上的子句捕获(catch)。如果异常未必捕获,将导致执行线程的终止,但在终止前,线程的ThreadGroup使默认的异常处理程序能以尽可能好的方式处理异常,通常是打印出有关异常从何处抛出的有用信息。
在你的程序中,调用了输入流,输入流会抛出IOException,但是你在程序中没有捕获该异常,因而直接终止了。
Ronanljy 2004-09-15
  • 打赏
  • 举报
回复
在JBuilder中选中语句,然后Edit->surrond with try/catch就可以快速添加try/catch
allenzhoudabiao 2004-09-15
  • 打赏
  • 举报
回复
you should use tyr....catch. don't froget this ok,
xylll 2004-09-15
  • 打赏
  • 举报
回复
顺便问问throws和catch的区别throws和throw的区别,

这三者的区别和联系
射天狼 2004-09-15
  • 打赏
  • 举报
回复
两种解决办法,
一是:
在调用此语句 的函数后面加上throws FileNotFoundException

二是:
用TRY块进行错误处理,如下:

try
{
String line = in.readLine();
}
catch (FileNotFoundException e)
{
System.out.println (s.toString ());
}
kingfish 2004-09-15
  • 打赏
  • 举报
回复
如果你调用的函数中可能会抛出异常,那么你必须try/catch或者
通过
void f() throws Exception {
..
}
programdolt 2004-09-15
  • 打赏
  • 举报
回复
String line = in.readLine(); 需要捕获或抛出异常
rola 2004-09-15
  • 打赏
  • 举报
回复
要在 String line = in.readLine(); 的前后加上try catch,
in.readLine有可能引发异常,并且是必须捕获的,
或者在用in.readLine这句的方法后就上throws exception
将异常抛到外层去处理
visteon 2004-09-15
  • 打赏
  • 举报
回复
不一定都要捕获,可以使用throws将其排除掉。
dukcho 2004-09-15
  • 打赏
  • 举报
回复
可以看看Java中异常的处理,
两种方法,一是:在调用函数后面加上throws FileNotFoundException
二是用TRY块进行错误处理,如下:
try
{
String line = in.readLine();
}
catch (FileNotFoundException e)
{
System.out.println (s.toString ());
}

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧