java.lang.IllegalStateException怎么解决
3个回答
展开全部
这个词汇翻译过来就是“无效状态异常”,也就是说你调用这个方法的次序有问题,比如尚未初始化,或者调用某个方法多次(不是每个方法都允许多次调用)。
JAVA20世纪90年代,硬件领域出现了单片式计算机系统,这种价格低廉的系统一出现就立即引起了自动控制领域人员的注意,因为使用它可以大幅度提升消费类电子产品(如电视机顶盒、面包烤箱、移动电话等)的智能化程度。
Sun公司为了抢占市场先机,在1991年成立了一个称为Green的项目小组,帕特里克、詹姆斯·高斯林、麦克·舍林丹和其他几个工程师一起组成的工作小组在加利福尼亚州门洛帕克市沙丘路的一个小工作室里面研究开发新技术,专攻计算机在家电产品上的嵌入式应用。
由于C++所具有的优势,该项目组的研究人员首先考虑采用C++来编写程序。但对于硬件资源极其匮乏的单片式系统来说,C++程序过于复杂和庞大。另外由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂,如何让编写的程序跨平台运行也是个难题。
2015-03-03
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
IllegalStateException属于RuntimeException,RuntimeException属于编程错误,不应该用try捕获(当然捕获有效,但是别这样做),需要修改。
IllegalStateException的字面意思表示非法状态,一般是状态机状态间转换不能,却调用了该转换而导致。比如人 生->死(合法)死->生(throw new IllegalStateException("诈尸啊!!!");
修改的方法也简单,报异常时会打出完整的堆栈回溯,只要依次向前查那一步有错误即可。
此外有常见的其他类型RuntimeException:如数组越界异常(多见于数组或ArrayList下标访问),数字转换异常(如integer.parseInt("不是数字")),非法参数异常等。
再强调一下,RuntimeException属于编程错误,不应该用try捕获,需要修改
IllegalStateException的字面意思表示非法状态,一般是状态机状态间转换不能,却调用了该转换而导致。比如人 生->死(合法)死->生(throw new IllegalStateException("诈尸啊!!!");
修改的方法也简单,报异常时会打出完整的堆栈回溯,只要依次向前查那一步有错误即可。
此外有常见的其他类型RuntimeException:如数组越界异常(多见于数组或ArrayList下标访问),数字转换异常(如integer.parseInt("不是数字")),非法参数异常等。
再强调一下,RuntimeException属于编程错误,不应该用try捕获,需要修改
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询