NumberFormatException异常

1. 对应String类型的对象使用println()方法时,如果对象为null,将打印null而不是引发NullPointerException,由此引用的问题是容易造成错觉,对于以后对字符串的操作容易引起问题。
2. 引发NullPointerException异常,主要原因是没有对对象的存在性进行验证,在jsp编程中经常出现:if (request.getParameter(“username”).equals(“xxx”))、out.println(session.getAttribute(“record”))等。解决这个问题的方法是在使用前进行判空比较:if (request.getParameter(“username”)!=null) {if if (request.getParameter(“username”).equals(“xxx”))…}。
3. 引发NumberFormatException异常:主要原因是将用户提交的内容转换为整数或者浮点数时用户输入了其它非法字符。处理的主要方式是在需要进行转换的地方使用try/catch块捕获此异常然后提示用户输入合法数据。
4. 引发StringIndexOutOfBoundsException异常:主要原因是使用String的substring()、charAt()等方法,而字符串的长度不够,就会引发此异常;在字符串为null时也会引发NullPointerException。解决的方法是判空,判断长度或者转换为字节数组。考虑到这些操作很多,可以将之封装到javabean中。
5. 引发NoClassDefFoundError错误,主要原因是类路径或者类文件放置错误,类文件的放置要符合服务器的要求。
6. 引发java.lang.Error错误,主要原因是对系统所访问外部资源,未执行关闭操作,导致外部资源大量浪费,最终可能导致系统无法正常运行;对系统所访问的外部资源关闭次数太多,外部系统无法正常处理;所系统访问的外部资源出现异常情况。解决的方法是:访问外部资源前,首先检查该资源(如数据库)是否可正常连接或操作;访问外部资源时,如果进行了连接,一定进行关闭操作,并仅进行一次关闭操作;尽量在同一操作中共享外部资源,以减少该操作对资源的消费,提高程序的执行效率。


我的出现问题是当添加用户到数据库时出现NumberFormatException异常,原因是在数数据库中设置int类型),而我只输入了一个字符0,字符占一个字节 ,在转换时出错,修改方法
try
{
String ss=request.getParameter( "str ");
ss=ss.trim();
int num=Inter.paresInt(ss);

}
catch(Exception e){}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NumberFormatException异常是由于将String类型的变量强制转换为int类型时发生失败导致的异常。原因是当用户输入非数字类型的数据时,在查询项目编号时无法找到对应的数据,并在后台的Controller中抛出NumberFormatException异常。为了处理这个异常,可以使用try-catch代码块,try中放置可能会发生异常的代码,catch中放置对异常的处理操作。另外,前台传递到后台的参数可以通过@RequestParam注解进行接收,然后对参数进行强制转换为int类型。然而,直接使用Integer.parseInt方法进行转换可能无法成功,因为String字符串包含中英文字符,不是纯数字。解决NumberFormatException异常方法之一是调用StringUtils.isNumeric(String str)方法,该方法可以判断一个字符串是否为纯数字。 StringUtils.isNumeric方法返回一个boolean值,如果字符串为数字则返回true,否则返回false。此方法可以帮助解决NumberFormatException异常。此外,StringUtils类还提供了isDigit(char ch)方法,用于检测指定字符是否为数字。该方法的返回值也是boolean类型,可以判断字符是否为数字。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [查询项目编号时关于处理NumberFormatException异常的问题](https://blog.csdn.net/zhang150114/article/details/88842931)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值