Scope failure is not preventing application crush in case of uncaught exceptions
james bennettt
jamesabennett96 at gmail.com
Fri Jan 24 09:55:44 UTC 2020
On Saturday, 16 December 2017 at 20:51:09 UTC, kerdemdemir wrote:
> While calling this function :
>
> bool PublicMarketCall( ref Json result )
> {
> string fullUrl =
> "https://www.delta.exchange/futures-guide-bitcoin";
> Json data;
> try
> {
> requestHTTP(fullUrl,
> (scope req) {
> req.method = HTTPMethod.GET;
> },
> (scope res) {
> data = parseJsonString(res.bodyReader.readAllUTF8());
> }
> );
> }
> catch ( std.json.JSONException e )
> {
> writeln("Exception was caught while making the public call:
> ", fullUrl);
> return false;
> }
>
> scope(failure)
> writeln("Exception was caught while public data: ", fullUrl);
> return false;
> }
>
> Very rarely (I am calling this function thousands of times in a
> day) like once in a day I am getting a crush while calling
> requestHTTP function :
>
> object.Exception at ../../../.dub/packages/vibe-d-0.8.1/vibe-d/core/vibe/core/drivers/libevent2.d(375): Failed to connect to host 104.17.154.108:443: 7FF703F4F617
> ----------------
> ??:? [0x606cee]
> ??:? [0x60ceb2]
> exception.d:421 [0x4644a3]
> exception.d:388 [0x41396d]
> libevent2.d:375 [0x59002b]
> net.d:129 [0x5be726]
> client.d:610 [0x4a8ed4]
> client.d:528 [0x4a7224]
> client.d:462 [0x4a5a3f]
> client.d:157 [0x4a5819]
> client.d:133 [0x4a52bf]
> .... --> Some files belonging my function
> app.d:41 [0x43b947]
> ??:? [0x612f3e]
> ??:? [0x612efd]
> ??:? [0x612df8]
> __entrypoint.d:8 [0x43be54]
> ??:? __libc_start_main [0x3de282f]
> ??:? [0x406fb8]
> Program exited with code 1
>
> As far as I know scope(failure) should be collecting all
> failure cases. And my application shouldn't crush with uncaught
> exceptions. What I am missing?
Nothing i can think of
More information about the Digitalmars-d-learn
mailing list