diff --git a/chronos.nimble b/chronos.nimble index 68e4d97f..e3077a0f 100644 --- a/chronos.nimble +++ b/chronos.nimble @@ -1,5 +1,5 @@ packageName = "chronos" -version = "2.3.3" +version = "2.3.4" author = "Status Research & Development GmbH" description = "Chronos" license = "Apache License 2.0 or MIT" diff --git a/chronos/asyncmacro2.nim b/chronos/asyncmacro2.nim index 9ab2a4bc..53071a6a 100644 --- a/chronos/asyncmacro2.nim +++ b/chronos/asyncmacro2.nim @@ -52,15 +52,15 @@ template createCb(retFutureSym, iteratorNameSym, {.pop.} except CancelledError: retFutureSym.cancel() - except: + except CatchableError as exc: futureVarCompletions if retFutureSym.finished(): # Take a look at tasyncexceptions for the bug which this fixes. # That test explains it better than I can here. - raise + raise exc else: - retFutureSym.fail(getCurrentException()) + retFutureSym.fail(exc) identName() {.pop.} diff --git a/chronos/streams/asyncstream.nim b/chronos/streams/asyncstream.nim index 8a77ad64..cc4695e4 100644 --- a/chronos/streams/asyncstream.nim +++ b/chronos/streams/asyncstream.nim @@ -299,8 +299,8 @@ proc readExactly*(rstream: AsyncStreamReader, pbytes: pointer, raise except TransportIncompleteError: raise newAsyncStreamIncompleteError() - except: - raise newAsyncStreamReadError(getCurrentException()) + except CatchableError as exc: + raise newAsyncStreamReadError(exc) else: if isNil(rstream.readerLoop): await readExactly(rstream.rsource, pbytes, nbytes) @@ -337,8 +337,8 @@ proc readOnce*(rstream: AsyncStreamReader, pbytes: pointer, result = await readOnce(rstream.tsource, pbytes, nbytes) except CancelledError: raise - except: - raise newAsyncStreamReadError(getCurrentException()) + except CatchableError as exc: + raise newAsyncStreamReadError(exc) else: if isNil(rstream.readerLoop): result = await readOnce(rstream.rsource, pbytes, nbytes) @@ -386,8 +386,8 @@ proc readUntil*(rstream: AsyncStreamReader, pbytes: pointer, nbytes: int, raise newAsyncStreamIncompleteError() except TransportLimitError: raise newAsyncStreamLimitError() - except: - raise newAsyncStreamReadError(getCurrentException()) + except CatchableError as exc: + raise newAsyncStreamReadError(exc) else: if isNil(rstream.readerLoop): result = await readUntil(rstream.rsource, pbytes, nbytes, sep) @@ -449,8 +449,8 @@ proc readLine*(rstream: AsyncStreamReader, limit = 0, result = await readLine(rstream.tsource, limit, sep) except CancelledError: raise - except: - raise newAsyncStreamReadError(getCurrentException()) + except CatchableError as exc: + raise newAsyncStreamReadError(exc) else: if isNil(rstream.readerLoop): result = await readLine(rstream.rsource, limit, sep) @@ -504,8 +504,8 @@ proc read*(rstream: AsyncStreamReader, n = 0): Future[seq[byte]] {.async.} = result = await read(rstream.tsource, n) except CancelledError: raise - except: - raise newAsyncStreamReadError(getCurrentException()) + except CatchableError as exc: + raise newAsyncStreamReadError(exc) else: if isNil(rstream.readerLoop): result = await read(rstream.rsource, n) @@ -556,8 +556,8 @@ proc consume*(rstream: AsyncStreamReader, n = -1): Future[int] {.async.} = raise except TransportLimitError: raise newAsyncStreamLimitError() - except: - raise newAsyncStreamReadError(getCurrentException()) + except CatchableError as exc: + raise newAsyncStreamReadError(exc) else: if isNil(rstream.readerLoop): result = await consume(rstream.rsource, n) @@ -608,8 +608,8 @@ proc write*(wstream: AsyncStreamWriter, pbytes: pointer, res = await write(wstream.tsource, pbytes, nbytes) except CancelledError: raise - except: - raise newAsyncStreamWriteError(getCurrentException()) + except CatchableError as exc: + raise newAsyncStreamWriteError(exc) if res != nbytes: raise newAsyncStreamIncompleteError() else: @@ -651,8 +651,8 @@ proc write*(wstream: AsyncStreamWriter, sbytes: seq[byte], res = await write(wstream.tsource, sbytes, msglen) except CancelledError: raise - except: - raise newAsyncStreamWriteError(getCurrentException()) + except CatchableError as exc: + raise newAsyncStreamWriteError(exc) if res != length: raise newAsyncStreamIncompleteError() else: @@ -696,8 +696,8 @@ proc write*(wstream: AsyncStreamWriter, sbytes: string, res = await write(wstream.tsource, sbytes, msglen) except CancelledError: raise - except: - raise newAsyncStreamWriteError(getCurrentException()) + except CatchableError as exc: + raise newAsyncStreamWriteError(exc) if res != length: raise newAsyncStreamIncompleteError() else: diff --git a/chronos/streams/tlsstream.nim b/chronos/streams/tlsstream.nim index 77718649..8ec4c8b9 100644 --- a/chronos/streams/tlsstream.nim +++ b/chronos/streams/tlsstream.nim @@ -260,8 +260,8 @@ proc tlsReadLoop(stream: AsyncStreamReader) {.async.} = except CancelledError: rstream.state = AsyncStreamState.Stopped - except AsyncStreamReadError: - rstream.error = getCurrentException() + except AsyncStreamReadError as exc: + rstream.error = exc rstream.state = AsyncStreamState.Error if not(rstream.handshaked): rstream.handshaked = true diff --git a/chronos/transports/common.nim b/chronos/transports/common.nim index f8fb55ff..6dd57157 100644 --- a/chronos/transports/common.nim +++ b/chronos/transports/common.nim @@ -219,8 +219,8 @@ proc initTAddress*(address: string): TransportAddress = else: raise newException(TransportAddressError, "Incorrect address family!") result.port = Port(port) - except: - raise newException(TransportAddressError, getCurrentException().msg) + except CatchableError as exc: + raise newException(TransportAddressError, exc.msg) else: result = TransportAddress(family: AddressFamily.Unix) @@ -237,8 +237,8 @@ proc initTAddress*(address: string, port: Port): TransportAddress = result.address_v6 = ipaddr.address_v6 else: raise newException(TransportAddressError, "Incorrect address family!") - except: - raise newException(TransportAddressError, getCurrentException().msg) + except CatchableError as exc: + raise newException(TransportAddressError, exc.msg) proc initTAddress*(address: string, port: int): TransportAddress {.inline.} = ## Initialize ``TransportAddress`` with IP (IPv4 or IPv6) address ``address``