java异常之疑惑?

importjava.io.*;publicclassDataStreamTest{/***@paramargs*/publicstaticvoidmain(String... import java.io.*;
public class DataStreamTest {
/**
* @param args
*/
public static void main(String[] args){
// TODO Auto-generated method stub
try{
FileOutputStream fos = new FileOutputStream("Test.txt"); //创建文件输出流对象
BufferedOutputStream bos = new BufferedOutputStream(fos);
DataOutputStream dos = new DataOutputStream(bos);
dos.writeUTF("中国UTF");
//dos.writeBytes("中国");
//dos.writeChars("中国");
dos.close();

FileInputStream fis = new FileInputStream("Test.txt");//创建文件输入流对象
BufferedInputStream bis = new BufferedInputStream(fis);
DataInputStream dis = new DataInputStream(bis);
System.out.println("readUTF() : "+dis.readUTF()); //打印readUTF()的内容
dis.readUTF();
/*byte[] buf = new byte[1024];
int len = dis.readByte();
System.out.println("readByte : "+new String(buf,0,len)); //打印readBytes()的内容*/
dis.close();
}catch(Exception e){
e.printStackTrace();
}

}
}

//请问为什么我都捕获异常了还是这样的结果?
readUTF() : 中国UTF
java.io.EOFException
at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:323)
at java.io.DataInputStream.readUTF(DataInputStream.java:572)
at java.io.DataInputStream.readUTF(DataInputStream.java:547)
at com.datastream.test.DataStreamTest.main(DataStreamTest.java:23)
我都catch异常了,为什么还打印出那些异常?谢谢
展开
 我来答
568145421
2012-08-16 · 知道合伙人软件行家
568145421
知道合伙人软件行家
采纳数:1353 获赞数:6756

向TA提问 私信TA
展开全部
你好,通常我们在实际开发中,捕获到异常需要去处理异常,而不是简单的去打印异常。你的做法就是将异常栈信息打印出来了。你要是仔细观察就会发现,和不捕捉还是有细微差别的。
SunJK000
推荐于2018-04-24 · TA获得超过219个赞
知道小有建树答主
回答量:87
采纳率:0%
帮助的人:79.9万
展开全部
at com.datastream.test.DataStreamTest.main(DataStreamTest.java:23)

dis.readUTF(); 这行注释掉可以运行了 这句话产生异常,“e.printStackTrace(); ”就是因为捕获到异常,所以会打印异常信息;EOFException

最好把声明的流都给关闭
fos.close()
bos.close()
追问
把高层的流关闭 了,那些都自己被关闭了吧,谢谢了
追答
能运行,最好关掉。保证一点哦
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Zxdon
2012-08-16
知道答主
回答量:53
采纳率:0%
帮助的人:26.1万
展开全部
你虽然catch了异常,但是程序本身是错误的,我运行过了,把
dis.readUTF();

这一句删掉就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-08-16
展开全部
什么啊?
追问
我都catch异常了,为什么还打印出那些异常?谢谢
追答
这我就不知道了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
山野风景
2012-08-16 · TA获得超过8331个赞
知道小有建树答主
回答量:1028
采纳率:0%
帮助的人:480万
展开全部
应该是e.printStackTrace();执行的结果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式