加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java在线程的try-catch停止

发布时间:2020-12-15 01:08:27 所属栏目:Java 来源:网络整理
导读:我正在尝试编写一个代码,当它与我的计算机在同一网络上时,它将返回我的覆盆子的IP.这个想法是让它像Samba一样进行广播(广播解析是最接近原始NetBIOS机制的.基本上,寻找名为Trillian的服务的客户会喊出“哟!Trillian!你在哪里?”,等待具有该名称的机器以IP

我正在尝试编写一个代码,当它与我的计算机在同一网络上时,它将返回我的覆盆子的IP.这个想法是让它像Samba一样进行广播(广播解析是最接近原始NetBIOS机制的.基本上,寻找名为Trillian的服务的客户会喊出“哟!Trillian!你在哪里?”,等待具有该名称的机器以IP地址回答.来源:Samba团队)

所以这是代码:

public class GetIP {
    static String url; //global so I can access it after the threads are finished

    public class CheckIP extends Thread {
       private String url_test;

        public CheckIP(String url_t) {
            url_test = url_t;
        }

        public void run(){
            try {
                result = getHTML(this.url_test);  //result = the response from the GET request to this.url_test
            } catch (Exception e) {

            }

            if(result 

我可以看到标志1,我确实打印了第一个’for’所以我知道有254个线程正在创建,但是我看不到标志2.它从不显示,无论我等待多久.有什么想法吗?

最佳答案
你的代码的问题是java.lang.ArrayIndexOutOfBoundsException:

您正在执行循环直到第254个索引,而您的数组大小本身是254,这意味着索引存在是253,因为java启动它从0开始索引.

第一个循环也应该与第二个循环运行相同的迭代次数.

for (int i = 1; i < 254; i++) {
                    /
                    ||
                    ||
                    ||
      This should not be 255 else you'll get OutOfBounds Exception.
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读