String to int exception

Alexandre via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Jul 15 07:05:12 PDT 2014


Strange..., why '@' ?

PS: Ali Çehreli, thanks for your book, your book is wonderful!!!

On Tuesday, 15 July 2014 at 13:49:51 UTC, Ali Çehreli wrote:
> On 07/15/2014 04:56 AM, Alexandre wrote:
>
> >          retVal = to!int(val);
>
> > std.conv.ConvException at C:\D\dmd2\src\phobos\std\conv.d(1968):
> Unexpected
> > '@' when converting from type string to type int
>
> That means to!int failed because 'val' contained a '@' 
> character in it:
>
> import std.conv;
>
> void main()
> {
>     auto s = "42@";    // <-- What is that?
>     auto i = to!int(s);
> }
>
> However, there seems to be a bug in to(). It seems to 
> incorrectly go one character ahead:
>
>     to!int("mn");
>
> "Unexpected 'n' when converting from type string to type int"
>
>     to!int("m");
>
> "Unexpected end of input when converting from type string to 
> type int"
>
> That is a bug, right?
>
> So, in your case the unexpected '@' character may be after 
> another unexpected one:
>
>     to!int(" @");
>
> "Unexpected '@' when converting from type string to type int"
>
> Ali



More information about the Digitalmars-d-learn mailing list