zoukankan      html  css  js  c++  java
  • 由asp的一个错误,看语言的不同:asp & java

    今天查看网页源代码,无意发现源代码尾部抛出asp的错误信息,但没有显示在网页上。

    如果没查看源代码,还没发现asp运行代码出错了。

    大致情况是这样,在asp中,有一个变量来表示用户当前使用的容量,注意这个变量是字符串,格式如: 20.3M,  50.6G

    最后一个字符不是M,就是G

    程序中需要做一个判断,如果用户使用的容量超过 50G,就弹出提示信息了,相关代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <%
    str = "59.3G"
     
    if right(str,1) = "G" and cdbl(replace(str,"G","")) > 50 then
     
        response.write("> 50G")
         
    else
     
        response.write("< 50G")
         
    end if
    %>

    运行输出结果: > 50G

    当 str = "600.3M"的时候, 程序就抛出错误了:

    Microsoft VBScript 运行时错误 (0x800A000D)

    类型不匹配: 'cdbl'

    并没有输出我所期望的: < 50G

    我们用同样的逻辑判断,使用java来改写一下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    String str = "59.3G";
             
    if(str.endsWith("G") && Double.parseDouble(str.replaceAll("G""")) > 50)
    {
        System.err.println("> 50G");
    }  
    else
    {
        System.err.println("< 50G");
    }

    输出的结果: 

    > 50G

    如果 String str = "630.3M";

    输出的结果:

    < 50G

    总结:

    从上面的两种代码来看,在asp中,当判断多个条件时(and),当第一个条件不成立的时候,还会继续判断下一个条件是否成立:

    再来一段验证代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <%
    function abc()
        response.write("abc()...<br>")
        abc = true
    end function
     
     
    str = "59.3M"
     
    int x
     
    if right(str,1) = "G" and abc then
     
        response.write("> 50G")
         
    else
     
        response.write("< 50G")
         
    end if
    %>

    输出:

    abc()...

    < 50G

    而在 java 代码中,当进行多个条件(与, &)判断时,当第一个条件不成立的时候,就不会再进行下面的条件判断,不再执行下面的判断代码了。

    2014-04-02

  • 相关阅读:
    Python基础课:类的特殊方法
    绳结大全*****连结丶圈结
    绳结大全*****捆扎丶捆绑他物之绳结
    绳结大全*****末端结丶装饰丶瘤结丶收缩
    Excel:80个最有必要掌握的函数丶65个最有必要知道的快捷键
    excel函数语法,应用(copy+截图)
    聚类K-means算法
    逻辑回归
    MySql-第三部分(外键, 多表连接, 事务,视图 )
    各种计算距离方法总结(转)
  • 原文地址:https://www.cnblogs.com/personnel/p/4584939.html
Copyright © 2011-2022 走看看