黑马程序员技术交流社区

标题: 异常处理 [打印本页]

作者: 郑世光    时间: 2012-10-10 11:54
标题: 异常处理
本帖最后由 郑世光 于 2012-10-10 13:35 编辑

下面的代码只有DatagramSocket datareceive=new DatagramSocket(10009);和 DatagramSocket datasend=new DatagramSocket(); 抛异常,但是只将这2句话进行try处理的话,下面的datareceive和datasend都提示没有初始化,好像他们的作用域只在try块中了!这是为什么?                       
               public static void main(String[] args)  {

                DatagramSocket datareceive;
                DatagramSocket datasend;
                try {
                        datareceive = new DatagramSocket(10009);
                        datasend = new DatagramSocket();
                } catch (SocketException e) {
                        e.printStackTrace();
                }
                Send send=new Send(datasend);//  The local variable datasend may not have been initialized  
                Receive rece=new Receive(datareceive);//The local variable datasend may not have been initialized  可是上面在try中已经创建了啊

                Thread t1=new Thread(send);
                Thread t2=new Thread(rece);
                t1.start();
                t2.start();

        }
作者: 张学东    时间: 2012-10-10 12:00
如果你的代码出现了异常 程序是不会执行try中的语句的 而是执行catch中的语句的这样try没被执行 当然也没初始化啊
作者: 陈俊来    时间: 2012-10-10 12:10
public static void main(String[] args)  {

                DatagramSocket datareceive;
                DatagramSocket datasend;
                try {
                        datareceive = new DatagramSocket(10009);
                        datasend = new DatagramSocket();
                } catch (SocketException e) {
                        e.printStackTrace();
                }
                Send send=new Send(datasend);//  The local variable datasend may not have been initialized  
                Receive rece=new Receive(datareceive);//The local variable datasend may not have been initialized  可是上面在try中已经创建了啊

                Thread t1=new Thread(send);
                Thread t2=new Thread(rece);
                t1.start();
                t2.start();

        }

当你trycatch后datareceive 和datasend 就是局部变量,你在外面使用他们,当然要定义了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2