java - java中如何处理方法体外部的异常?

标签 java exception

考虑以下代码:

public class A
{
   static final List<Integer> list = new ArrayList<>();
}

上面的代码看起来工作正常。但是,当我使用以下内容时:

public class A
{
   static final ServerSocket ss = new ServerSocket(6666);
}

在这里,我看到一个未处理的 IOException 类型的异常。 我尝试了 try-catch block 和 throws 关键字。 我无法通过使用上述两个来解决这个问题。它们可能起作用,但不知道如何起作用。有什么办法可以处理这个异常吗? 目前使用 JDK 7。

最佳答案

验证方法

您可以使用静态私有(private)方法创建一个ServerSocket,在该方法中您可以处理异常并执行您想要的操作。

public class A
    static final ServerSocket ss = createServerSocket();

    private static ServerSocket createServerSocket() {
        try {
            return new ServerSocket(6666);
        } catch (IOException e) {
            throw new RuntimeException();
        }
    }
}

静态 block

另一种方法是使用静态 block 。那么您的代码可能如下所示。

public class A {
    static final ServerSocket ss;

    static {
        try {
            ss = new ServerSocket(6666);
        } catch (IOException e) {
            throw new RuntimeException();
        }
    }
}

关于java - java中如何处理方法体外部的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34976198/

相关文章:

java - 我正在尝试使用回收器 View 从 Fire Base 数据库检索数据,但出现错误

java - 自定义异常处理

Maven 故障安全插件 - SurefireBooterForkException : There was an error in the forked process (TypeNotPresentExceptionProxy)

swing 未捕获的异常处理程序

Java Throw-Catch 异常困惑-1 示例

java - 提取和删除模式不能完全与 Arraylists 一起使用

Java - Apache POI - 在这种模式下不可能用循环填充行和单元格? (Excel)

java - Atmosphere 样本 : Can't get chat demo working (atmosphere. js 给出 404)

android - 获取 "java.lang.IllegalArgumentException: Unknown URL content in"Android

java - 如何使用特殊字符在字符串中公开