On Thursday, 30 January 2025 at 01:38:07 UTC, Kyle Ingraham wrote:
Does D have a 'try' `std.conv:to` that does not throw if it fails? Something like:
```D
string input = "9";
int output;
auto parsed = input.tryTo!int(output);
```

`std.conv:to` is super flexible and does exactly what I need. However, hitting an exception for conversion failures really slows down my code. A conversion failure wouldn't be an exception for my use case. I'm trying to write web application route constraint code like what's [available in C#](https://github.com/dotnet/aspnetcore/blob/main/src/Http/Routing/src/Constraints/IntRouteConstraint.cs#L53). There, code like `Int.TryParse` is used to figure out whether a string meets a route constraint.

`std.conv:to` is almost perfect with it's flexibility across types. I'm just hoping I've missed the version that doesn't throw.

its on my todo list for opend but isnt realisticly happening any time soon, I can suggest some patterns for setting up a cleaner `to` overloadset if you want to pick it up

Reply via email to