问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

安装netbeans 中国教育考试版(2007)出错

发布网友 发布时间:2022-04-23 09:14

我来回答

1个回答

热心网友 时间:2023-09-21 12:14

http://gamvan.com/developer/java/2005/4/328.html

JAVA几个常见错误简析

1,空指针错误 java.lang.NullPointerException

使用基本的JAVA数据类型,变量的值要么已经是默认值,如果没有对其正常赋值,程序便不能通过编译,因此使用基本的JAVA数据类型(double,float,boolean,char,int,long)一般不会引起空指针异常。由此可见,空指针异常主要跟与对象的操作相关。

下面先列出了可能发生空指针异常的几种情况及相应解决方案:

不管对象是否为空就直接开始使用。
(JSP)代码段1:
out.println(request.getParameter("username"));
描述:
代码段1的功能十分简单,就是输出用户输入的表域"username"的值。

说明:
看上去,上面的语句找不出什么语法错误,而且在大多数情况下也遇不到什么问题。但是,如果某个用户在输入数据时并没有提供表单域"username"的值,或通过某种途径绕过表单直接输入时,此时request.getParameter("username")的值为空(不是空字符串,是空对象null。),out对象的println方法是无法直接对空对象操作,因此代码段1所在的JSP页面将会抛出"java.lang.NullPointerException"异常。

即使对象可能为空时,也调用java.lang.Object或Object对象本身的一些方法如toString(), equals(Object obj)等操作。
(JSP)代码段2:

String userName = request.getParameter("username");
If (userName.equals("root"))
{....}

描述:
代码段2的功能是检测用户提供的用户名,如果是用户名称为"root"的用户时,就执行一些特别的操作。

说明:
在代码段2中,如果有用户没有提供表单域"username"的值时,字符串对象userName为null值,不能够将一个null的对象与另一个对象直接比较,同样,代码段2所在的JSP页面就会抛出(java.lang.NullPointerException)空指针错误。

(JSP)代码段3:
String userName = session.getAttribute("session.username").toString();

描述:
代码段3的功能是将session中session.username的值取出,并将该值赋给字符串对象 userName。

说明:
在一般情况下,如果在用户已经进行某个会话,则不会出现什么问题;但是,如果此时应用服务器重新启动,而用户还没有重新登录,(也可能是用户关闭浏览器,但是仍打开原来的页面。)那么,此时该session的值就会失效,同时导致session中的session.username的值为空。对一个为null的对象的直接执行toString()操作,就会导致系统抛出(java.lang.NullPointerException)空指针异常。

解决方案:
为了确保进行操作或引用的对象非空,假若我们要对某对象进行操作或引用,我们首先去检查该对象是否已经实例化且不为空;并且在系统中加入针对对象为空时情况的处理。

如:采用String对象保存用户提交的结果;在如果涉及对象的操作时,先检测其是否为空后,检查到对象为空后,可再选择进行以下任一种处理方式:

处理方式 1) 检查到对象为空时,设置对象值为空字符串或一个默认值;
处理方式 2) 检测到对象为空时,根本不执行某操作,直接跳转到其他处理中。
处理方式 3) 检查到对象为空时,提示用户操作有错误。
将代码段2按以上方式进行改写,得到:
方式1:

String userName = request.getParameter("username");
// 该变量值为空时,转化为默认空字符串
If (userName == null)
userName = "";
If (userName.equals("root"))
{..........}

方式2:

String userName = request.getParameter("username");
// 该变量值为空时,转化为默认空字符串,不执行有关操作。
If (usreName != null)
{
If (userName.equals("root"))
{..........}
}

方式3:

String userName = request.getParameter("username");
// 该变量值为空时,转化为默认空字符串,不执行有关操作。
If (usreName == null)
{
// 提示用户输入信息为空
}

实际中,上面提供到三种处理方式也同样适用于其他异常的处理:

异常处理方式 1) 检查到异常出现,设置对象值为空字符串或一个默认值;
异常处理方式 2) 检测到异常出现,根本不执行某操作,直接跳转到其他处理中。
异常处理方式 3) 检查到异常出现,提示用户操作有错误。

http://gamvan.com/developer/java/2005/4/328_2.html
http://gamvan.com/developer/java/2005/4/328_3.html
http://gamvan.com/developer/java/2005/4/328_4.html
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
韩国EMS19.3公斤的箱子去中国要多少钱 俄罗斯快递查询 青春期孩子想买贵东西怎么办 发现青春期孩子买成人用品怎么办?? ...运送石油到中国上海湾,途中经过的海峡有( )A.白令海峡B.马六甲海峡C... 中俄货物运输企业 ...湾往我国运送石油的船只需要经过的海峡是: ( ) A.直布罗陀海峡 B... 童心唱响祖国完整版歌词【26句精选】 苹果有面容和没面容有什么区别 苹果无面容影响 ps的下载地址 98寸电视长宽多少? 申请信用卡时发证机关是什么? 系统设计师必备技能与工具有哪些 ps是什么 啊,教以下哦.是不是要怎么学?? 如何使用dbvusualizer连接远程数据库 "D:\ps 5.0\程序\Adobe_Photoshop_CS5_Extended_v12.0.1.0\Adobe Photoshop CS5 Extended\Photoshop 教师资格证什么时候发证 朋友 能具体说说怎么解决运行Photoshop 时D\E\F盘会出现.tmp后缀的文件,PS滤镜也无法用的问题吗? 求助==怎么在android 锁屏界面实现音乐频谱图 土地登记发证工作程序 华为D14se可以ps吗? 什么是发证检验 学了java之后就可以编写安卓软件了么?大家一般都用什么软件去编写? 驾驶证发证时间是什么时候? photoshop。不能存储为d:/...未标题.jpg,因为找不到该文件。怎么办? dbvisulizer启动出现方法来源不明怎么办 Java有字节码级别的单步动态调试工具吗 发证近义词? 有木有比较简便的方法能监测Java的JDBC连接是否成功 ps -ef|grep -w DalarmAdapter_fh_xhbf_wdm |grep -v grep|awk '{printf $2}' oracle远程管理工具 高级工程师的正规发证机关有哪些 970乘1560是多大电视 华硕d541sc,CAD,3Dmax,PS,CDR,AI,PR,AE,C4D,DW,可以带的动那些 机动车驾驶证发证机关 98英寸等于多少平方米 netbeans 出现错误 java.lang.nullpointerexception Win7系统中启动程序就会报java.lang.NullPointerException的问题 九十八英寸电视机长多少厘米? 拟发证是什么意思? 98寸电视比82寸大多少 DbVisualizer-6.5.7启动报错java.lang.NullPointerException 98寸 和100寸 是宽高多少? 驾照的发证机关是什么? 怎样修改DbVisualizer中jdk的设置 19999元/98英寸引爆大屏电视革命 Redmi智能电视MAX 98”现场体验 DbVisualizer-6.5.7启动报错java.lang.NullPointerException 启动报错你解决没阿?解决了能不能分享下。 oracle sql developer 每次启动都要选择 java.exe路径 SQL State: 42000