变量初始化的问题

juniort 2007-11-15 02:16:07
代码如下:
DatagramSocket socket;
try{
socket=new DatagramSocket(port);
}
catch(SocketException e){
System.out.println("Failed to define DatagramSocket object.");
}
...
socket.send(packet);
编译提示:
variable socket might not have been initialized
^
我把try catch块去掉,编译提示:
unreported exception java.net.SocketException; must be caught or declared to be thrown
socket=new DatagramSocket(port);
^
1 error
不知如何才能解决?
...全文
71 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
juniort 2007-11-15
  • 打赏
  • 举报
回复
搞定!多谢多谢!
wangdetian168 2007-11-15
  • 打赏
  • 举报
回复
mark

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
wangdetian168 2007-11-15
  • 打赏
  • 举报
回复
mark

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
zhouyong80 2007-11-15
  • 打赏
  • 举报
回复
如果你的程序中try{}catch{}抛出异常的话,那么socket将不能被初始化,而你在socket.send(packet)中用到了这个没有初始化的变量所以楼上的是正解
olivesoup 2007-11-15
  • 打赏
  • 举报
回复

DatagramSocket socket = null;
try{
socket=new DatagramSocket(port);
}
catch(SocketException e){
System.out.println( "Failed to define DatagramSocket object. ");
}
...
socket.send(packet);

看到没,你最后那句用到socket了,所以编译通不过,要让编译器知道socket已被初始化了才行
ustbsjl 2007-11-15
  • 打赏
  • 举报
回复
DatagramSocket socket = null;
Don_Juan 2007-11-15
  • 打赏
  • 举报
回复
这样写应该没问题呀,会不会是port值有问题

62,623

社区成员

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

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