Skip to content

К вопросу об исключениях в блоке инициализации #166

@ghost

Description

Для нестатических блоков инициализации, если выбрасывание исключения прописано явным образом требуется, чтобы объявления этих исключений были перечислены в throws всех конструкторов класса. Иначе будет ошибка компиляции.

{
    throw new IOException();
}

 public Main() throws IOException {}

Даже при указании в конструкторах будет ошибка компиляции Initializer must be able to complete normally, вне зависимости от того, проверяемое оно или нет, а также статический блок или не-статический.

Тут скорее речь про вызов методов, указывающих в throws проверяемые исключения. Именно явное выбрасывание исключений в блоках не допускается.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions