今天遇到一个爆掉的ASP程序,出错的原因在于把Null值想强制转换。
代码如下:
1 <%
2 If cbool(flag) and XXX then
3 %>
4
5
2 If cbool(flag) and XXX then
3 %>
4
5
问题在于:
VBScript 是弱类型. 最好不要做各种转型
cbool, cstr 等等都是不安全的
原来那个写法不是很老练。。
因此,我改成了以下写法:
1 <%
2 If (flag & "" = "True") and XXX then
3 %>
2 If (flag & "" = "True") and XXX then
3 %>
程序不再爆掉了,其原因在于:
null & "" = ""
这是一项处理老的ASP程序中容易产生异常的Null问题的小技巧。