flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-5854) Introduce some Flink-specific base Exception types
Date Wed, 22 Feb 2017 11:31:44 GMT

    [ https://issues.apache.org/jira/browse/FLINK-5854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15878037#comment-15878037

ASF GitHub Bot commented on FLINK-5854:

Github user tillrohrmann commented on the issue:

    Big +1 from my side. I think that more specific exceptions helps to make people think
more about the cause of an exception and, thus, also how it should be handled. Especially
the fact that we always catch `RuntimeException` when having `throws Exception` in the method
definition annoyed me a lot.
    @uce I think we should not per se wrap all current `Exceptions` into a `FlinkRuntimeException`.
Better to do a case distinction here.

> Introduce some Flink-specific base Exception types
> --------------------------------------------------
>                 Key: FLINK-5854
>                 URL: https://issues.apache.org/jira/browse/FLINK-5854
>             Project: Flink
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Stephan Ewen
>            Assignee: Stephan Ewen
>             Fix For: 1.3.0
> Going through the code, there are a lot of places where exception handling could be done
a bit nicer, for example 
>   - Some methods do not declare exceptions at all in their signatures. They simply catch
all and wrap it in a {{RuntimeException}}.
>   - Some places declare overly generic that they throw {{Exception}}, even though they
could very specifically type the exceptions they throw.
> I suggest to introduce two new basic exceptions, that at least help document a bit more
what goes wrong:
>   - {{FlinkException}} as a base class for checked exceptions that indicate that something
related to using Flink went wrong. Letting a method throw {{FlinkException}} rather than {{Exception}}
already helps to not include all of Java's runtime exceptions, which indicate programming
errors, rather than situations that should be recovered.
>   - {{FlinkUncheckedException}} as a Flink-specific subclass of {{RuntimeException}}.
That one can come in handy in places where no exceptions were declared, for example when reusing
an interface that does not declare exceptions.

This message was sent by Atlassian JIRA

View raw message