Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Distinguish exceptions that occurs when handling message. #10

Open
taeguk opened this issue Sep 12, 2016 · 1 comment
Open

Distinguish exceptions that occurs when handling message. #10

taeguk opened this issue Sep 12, 2016 · 1 comment

Comments

@taeguk
Copy link
Member

taeguk commented Sep 12, 2016

We need to distinguish exceptions that occurs when handling message.
Now, there is a ambiguous division in our codes.
This means instability.
So, we need to divide those exceptions into four things.

1. Known exceptions occurs. And they mean a invalid message.

  • Pass these exceptions. And pass a message.
  • Pass these exceptions. And report a failure to sender.

2. Known exceptions occurs. And they just mean a known failure of functions.

They mean just "we can handle these exceptions"

  • Handle these exceptions by known(=already defined) solution.

3. Unknown exceptions occurs. But we can recover a current state to be a state before occurrence of a exception.

They are likely to mean "bugs of codes" or a external problem. But we can recover a state.

  • Recover a state. And ignore a message or report a failure to sender. And log about unknown exceptions for debugging.
  • Die for immediate debugging.

4. Unknown exceptions occurs. And we can't recover...

They are likely to mean "bugs of codes" or a external problem. And we can't recover a state.

  • Die
@taeguk
Copy link
Member Author

taeguk commented Sep 15, 2016

I think it is related to some refactoring issues.

  1. Documentation
  2. A need of Module Root Exception.
    So, if we want to solve this issue, we need to solve some refactoring issues above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant