多平台统一管理软件接口,如何实现多平台统一管理软件接口
384
2022-11-06
SSM框架 报空指针 java.lang.NullPointerException
异常信息,没想到是@Autowired使用问题
解决:每次注入接口的时候都必须引入@Autowired注解,省略就会报null,@Autowired每次只能注入一个对象(接口)
@Autowiredprivate GoodsService goodsService ;@Autowiredprivate UserInfoService userService ;
为什么没有@Autowired会报空指针异常
userService.add(user) ;
如果没有@Autowired注解那么就没有给这个对象(接口)分配内存,就是说当这个对象(接口)在使用其类的方法时没有指向内存空间而引发了空指针异常,也就是NullPointerException
异常信息的(部分)体系结构
Throwable是异常类的顶级父类,它也是继承于Object超级类。
Exception 则表示一般性的异常,而且这种异常是设计中早已考虑到很常见的错误,并且一定要求在设计中说明如何处理这种异常。
Error主要是用于表示Java和虚拟机内部的异常信息,Exception异常则是由于程序中可能存在各种的问题,是需要使用者去注意和捕获的异常。
RuntimeException异常信息
所有的非RuntimeException类叫非检查异常类
关于runtime异常处理try{}catch解决办法 RuntimeException会报它的子类异常信息,这是我们的代码出现了错我,必须通过找到异常错误并修改才会避免。try{}catch使用到调用方法上面可以保证程序的运行,不至于让项目崩掉,但是错误仍然无法解决。
常见的其他RuntimeException子类
NullPointerException,上面讲到的,他是最常见的子类NumberFormatException:继承IllegalArgumentException,字符串转换为数字时出现。比如int i= Integer.parseInt(“ab3”);ArrayIndexOutOfBoundsException:数组越界。比如 int[] a=new int[3]; int b=a[3];StringIndexOutOfBoundsException:字符串越界。比如 String s=”hello”; char c=s.chatAt(6);ClassCastException:类型转换错误。比如 Object obj=new Object(); String s=(String)obj;UnsupportedOperationException:该操作不被支持。如果我们希望不支持这个方法,可以抛出这个异常。既然不支持还要这个干吗?有可能子类中不想支持父类中有的方法,可以直接抛出这个异常。ArithmeticException:算术错误,典型的就是0作为除数的时候。IllegalArgumentException:非法参数,在把字符串转换成数字的时候经常出现的一个异常,我们可以在自己的程序中好好利用这个异常。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~