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 连接操作mysql数据库
    (转)postfix疯狂外发垃圾邮件之分析与解决
    ansible 常用方法
    用python2.7.9 写个小程序搜索某个目录下行有某关键字
    python获取文件扩展名的方法(转)
    ceph 池管理
    UVALive 5412 Street Directions
    UVALive 3231 Fair Share
    UVA 11478 Halum
    2015 Multi-University Training Contest 4 hdu 5338 ZZX and Permutations
  • 原文地址:https://www.cnblogs.com/personnel/p/4584939.html
Copyright © 2011-2022 走看看