我有一段代码,需要转换字符串为整形,并且设计了异常捕获:
try
uwDestAddr := StrToInt64(strCmdParam);
except //Cvt Addr Failed.
ShowMessage('error addr');
Exit;
end;但是非常奇怪,strCmdParam是'asdf'一个异常字符串,但是运行时,捕获不到异常啊?F9后运行到这条语句,依然直接给出EXCEPTION的对话框,让我break。为什么我的except代码没有捕获到转换异常呢?哪位大侠指点一下,多谢。
try
uwDestAddr := StrToInt64(strCmdParam);
except //Cvt Addr Failed.
ShowMessage('error addr');
Exit;
end;但是非常奇怪,strCmdParam是'asdf'一个异常字符串,但是运行时,捕获不到异常啊?F9后运行到这条语句,依然直接给出EXCEPTION的对话框,让我break。为什么我的except代码没有捕获到转换异常呢?哪位大侠指点一下,多谢。
except //Cvt Addr Failed.
ShowMessage('error addr');//里面代码
Exit;
end;
而在单独运行EXE时,则不显示具体出错信息只执行
except //Cvt Addr Failed.
ShowMessage('error addr');//里面代码
Exit;
end;
只要转换不成功,都会执行ShowMessage,LZ遇到鬼了?
i:integer;
begin
try
i:=strtoint64('asdf');
except
ShowMessage('error');
end;
end;
调试完全无压力,检查下你的strtoint64代码是不是被改动过,另外重新编译下工程
不过 错误返回值 设置 -1 注意下就行 不要和正确值冲突