Как я могу использовать try-with и сохранить регистратор? - PullRequest
0 голосов
/ 06 декабря 2018

это мой код, и я хочу использовать try-with для его замены: Как я могу сохранить часть регистратора


    public Object valueFromBytes(byte[] bytes) {
    if(bytes == null || bytes.length == 0)
        return null;

    FSTObjectInput fstInput = null;
    try {
        fstInput = new FSTObjectInput(new ByteArrayInputStream(bytes));
        return fstInput.readObject();
    }
    catch (Exception e) {
        throw new RuntimeException(e);
    }
    finally {
        if(fstInput != null)
            try {fstInput.close();} catch (IOException e) {logger.error(e.getMessage(), e);}
    }
}


public Object valueFromBytes(byte[] bytes) {
    if(bytes == null || bytes.length == 0)
        return null;
    try (FSTObjectInput fstInput = new FSTObjectInput(new ByteArrayInputStream(bytes));){
        return fstInput.readObject();
    }catch (Exception e) {
        throw new RuntimeException(e);
    }

}

в этомконтекст, регистратор не должен быть съеден, помните OCP.

...