黑马程序员技术交流社区

标题: 为什么老是无法抛出运行时异常RuntimeException?? [打印本页]

作者: 华谦    时间: 2014-8-15 08:33
标题: 为什么老是无法抛出运行时异常RuntimeException??
跟着视频教程自己写了几个程序,在处理异常的时候,抛出RuntimeException??就是编译不通过,注释掉就可以了
//同一窗口聊天
import java.io.*;
import java.net.*;
class Send implements Runnable
{
        private DatagramSocket ds;
        Send(DatagramSocket ds)
        {
                this.ds = ds;
        }
        public void run()
        {
                try
                {
                        BufferedReader bufr =
                        new BufferedReader(new InputStreamReader(System.in));
                        String line = null;
                        while((line=bufr.readLine())!=null)
                        {
                                if("over".equals(line))
                                        break;
                                byte[] buf = line.getBytes();
                                DatagramPacket dp =
                                        new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.103"),10002);

                                ds.send(dp);
                        }
               
                }
                catch (Exception e)
                {
                        //throw new RuntimeException("上传失败");
                }
        }

}
class Rece implements Runnable
{
        private DatagramSocket ds;
        Rece(DatagramSocket ds)
        {
                this.ds = ds;
        }
        public void run()
        {
                try
                {
                        while(true)
                        {
                                byte[] buf = new byte[1024];
                                DatagramPacket dp = new DatagramPacket(buf,buf.length);

                                ds.receive(dp);
                                String ip = dp.getAddress().getHostAddress();
                                String data = new String(dp.getData(),0,dp.getLength());

                                System.out.println(ip+":"+data);
                       
                        }
       
                }
                catch (Exception e)
                {
                        //throw new RuntimeException("读取失败");
                }
               
        }
}
class  SocketDemo
{
        public static void main(String[] args) throws Exception
        {
                DatagramSocket SendSocket = new DatagramSocket();
                DatagramSocket ReceSocket = new DatagramSocket(10002);

                new Thread(new Send(SendSocket)).start();
                new Thread(new Rece(ReceSocket)).start();
        }
}






作者: wisely    时间: 2014-8-15 12:35
catch(Exception e),抓到的异常在try代码块里,try代码块里没有报RuntimeExcetion异常,catch就抓不到,在里面抛这个应该不太合适,抛IOException试试看。
作者: wisely    时间: 2014-8-15 12:38
本帖最后由 wisely 于 2014-8-15 12:40 编辑
wisely 发表于 2014-8-15 12:35
catch(Exception e),抓到的异常在try代码块里,try代码块里没有报RuntimeExcetion异常,catch就抓不到, ...

好像不太对,楼主略过即可……
坐等大神!

作者: 王凯路路    时间: 2014-8-15 14:38
编译通过啊  {:2_34:}  
作者: 华谦    时间: 2014-8-16 10:18
王凯路路 发表于 2014-8-15 14:38
编译通过啊

你把运行异常注释 吗?注释了是能通过,去掉注释就不行了
作者: 华谦    时间: 2014-8-16 10:42
wisely 发表于 2014-8-15 12:38
好像不太对,楼主略过即可……
坐等大神!

嗯,没有运行时编译就通不过
作者: 王凯路路    时间: 2014-8-16 12:21
华谦 发表于 2014-8-16 10:18
你把运行异常注释 吗?注释了是能通过,去掉注释就不行了

我去掉了, 可以运行
作者: 陈君    时间: 2014-8-16 13:41
华谦 发表于 2014-8-16 10:18
你把运行异常注释 吗?注释了是能通过,去掉注释就不行了

我去掉了也编译通过了!!!!!!!!如果你编译不通过把错误信息给我们看看
作者: 华谦    时间: 2014-8-16 13:59
陈君 发表于 2014-8-16 13:41
我去掉了也编译通过了!!!!!!!!如果你编译不通过把错误信息给我们看看 ...


D:\java0507>javac udp聊天.java
udp聊天.java:38: 无法访问 RuntimeException
错误的类文件: .\RuntimeException.java
文件不包含类 RuntimeException
请删除该文件或确保该文件位于正确的类路径子目录中。
                        throw new RuntimeException("上传失败");
                                  ^
1 错误

作者: 华谦    时间: 2014-8-16 14:01
王凯路路 发表于 2014-8-16 12:21
我去掉了, 可以运行


D:\java0507>javac udp聊天.java
udp聊天.java:38: 无法访问 RuntimeException
错误的类文件: .\RuntimeException.java
文件不包含类 RuntimeException
请删除该文件或确保该文件位于正确的类路径子目录中。
                        throw new RuntimeException("上传失败");
                                  ^
1 错误


我编译出现这提示
作者: 王凯路路    时间: 2014-8-16 18:02
jdk里面的文件是不是动了啊 ?  他这个说的是你要new的对象没有么不是.
作者: 华谦    时间: 2014-8-16 19:56
王凯路路 发表于 2014-8-16 18:02
jdk里面的文件是不是动了啊 ?  他这个说的是你要new的对象没有么不是.

我也想过是这个问题,重装了JDK也不行,而且什么都没改过,装好直接试不行




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