今天查看网页源代码,无意发现源代码尾部抛出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

由asp的一个错误,看语言的不同:asp & java的更多相关文章

  1. OpenStack学习系列-----第二篇 由一个错误看理解整个架构的重要性

    看了openstack没几天,然后就开始试着用Java调用所有的API,第一步得到Credentials的时候成功了,然后第二步,传参数使所有的server信息都列出来的时候报错404.具体描述如下( ...

  2. 【转】asp.net发布到IIS中出现错误:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”

    原文:http://blog.csdn.net/mazhaojuan/article/details/7660657 开发web项目时需要安装IIS,在安装好IIS的Windows7本上发布asp.n ...

  3. asp.net发布到IIS中出现错误:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”

    asp.net发布到IIS中出现错误:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler” http:// ...

  4. 【ASP.NET 问题】IIS发布网站后出现 "处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误"的解决办法

    新装IIS,然后发布网站,运行出现如下错误提示 处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler” 于是 ...

  5. ASP.NETMVC自定义错误页面真的简单吗?

    Note:文章前半部分翻译自 http://benfoster.io/blog/aspnet-mvc-custom-error-pages ,着急的可直接看总结~ 如果你在设置asp.net mvc自 ...

  6. ASP.NET 网站支持多语言

    ASP.NET网站支持多语言 (本地资源文件和全局资源文件的调用及需注意的地方总结)   一.   本地资源文件(App_LocalResources): ①.     本地资源的生成及调用 1.本地 ...

  7. 处理程序“WebServiceHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”

    开发web项目时需要安装IIS,在安装好IIS的Windows7本上发布asp.net网站时,web程序已经映射到了本地IIS上,但运行如下错误提示“处理程序“PageHandlerFactory-I ...

  8. ASP.NET自定义错误页面

    ASP.NET自定义错误页面 ASP.NET 提供三种用于在出现错误时捕获和响应错误的主要方法:Page_Error 事件.Application_Error 事件以及应用程序配置文件 (Web.co ...

  9. 修改mysql错误提示语言的方法

    百度真的太恶心太无能了. 装了个mysql5,结果发现错误提示语言是法语. 然后我就想改成把错误提示语改成英语. 然后我使用各种关键字和方法百度了一个上午,居然全TM是告诉我怎么处理mysql中文乱码 ...

随机推荐

  1. Webpack 2 视频教程 005 - Webpack 编译输出日志

    原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...

  2. myeclipse快捷方式汇总

    选择你要注释的那一行或多行代码,按Ctrl+/即可,取消注释也是选中之后按Ctrl+/即可. 如果你想使用的快捷键的注释是的话,那么你的快捷键是ctrl+shift+/我以前都是手动注释的,直接打// ...

  3. 【软件工程】5.8 黑盒&白盒测试

    代码链接:http://www.cnblogs.com/bobbywei/p/4469145.html#3174062 搭档博客:http://www.cnblogs.com/Roc201306114 ...

  4. Integer Sequence Dividing CodeForces - 1102A (规律)

    You are given an integer sequence 1,2,…,n1,2,…,n. You have to divide it into two sets AAand BB in su ...

  5. Atlas & mysql-proxy

    Atlas https://github.com/Qihoo360/Atlas https://github.com/Qihoo360/Atlas/wiki/Installing-Atlas Atla ...

  6. Mesos的用途

    http://mesos.apache.org/ https://mesosphere.com/why-mesos/ http://www.cnblogs.com/ee900222/p/docker_ ...

  7. [日常工作]GS使用安装盘修改密码后的处理

    1. GS服务器端有时候需要修改 9999 的用户密码.但是修改完密码之后有几个注意事项: 一般有两个可以修改注册的地方: 使用setup里面的修改用户密码 修改完密码之后要手工注册一下数据库实例 也 ...

  8. python matplotlib绘图

    import numpy as np import matplotlib.pyplot as plt from scipy.constants.constants import alpha from ...

  9. Linux基础学习(1)--Linux系统简介

    第一章——Linux系统简介 1.UNIX和Linux发展史: 1.1 unix发展史: (1)1965年,美国麻省理工学院(MIT).通用电气公司(GE)及AT&T的贝尔实验室联合开发Mul ...

  10. SVN上线步骤笔记

    项目代码位置: /data/svn/play_out 项目代码目录名称: test SVN创建位置:/data/svn/repos_Websvn线上地址:svn://192.168.1.1/repos ...