Skip to content

[QUIC] Revisit exceptions in Quic #82262

Closed

Activity

  1. ghost added
    untriagedNew issue has not been triaged by the area owner
    on Feb 16, 2023
  2. removed
    untriagedNew issue has not been triaged by the area owner
    on Feb 16, 2023
  3. added this to the 8.0.0 milestone on Feb 16, 2023
  4. antonfirsov commented on Feb 16, 2023

    @antonfirsov
    Contributor

    It would be also nice to distinguish name resolution errors and define QuicError.HostNotFound so we can have a unified name resolution error case in #76644.

  5. self-assigned this
    on Jun 1, 2023
  6. wfurt commented on Jun 1, 2023

    @wfurt
    Member

    We agreed that we should:

    • throw SocketException for transport problem e.g. for cases like MsQuic AddressInUse, HostUnreachable and InvalidAddress. That generally comes either as user error, host limitation and network conditions. That also covers cases when target name cannot be resolved to address.
    • We will throw AuthenticationException for TLS and certificate related issues - preferably matching SslStream behavior.
    • We will throw QuicException for reasons related to Quic protocol or processing specific to Quic.
    • ArgumentException when supplied parameters or options provided by callback are not valid.
    • OperationCanceledException for cases when processing fail because of cancellation.
    • ObjectDisposedException for cases caused by disposing underlying object(s)

    We shall document this in some way. Either reach consensus when dotnet/dotnet-api-docs#7840 is resolved, via remarks section or via examples.

  7. karelz commented on Jul 18, 2023

    @karelz
    Member

    @wfurt is there anything left here?

  8. wfurt commented on Jul 18, 2023

    @wfurt
    Member

    While some work related to exceptions remains it is tracked by other issues. We reached agreement on strategy and that fulfills spirit to this issue IMHO

  9. ghost locked as resolved and limited conversation to collaborators on Aug 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions