- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
异常的分类:? ? 1. 编译时被检测异常:只要是Exception和其子类都是,除了特殊子类RuntimeException体系。? ?? ???这种问题一旦出现,希望在编译时就进行检测,让这种问题有对应的处理方式。? ?? ???这样的问题都可以针对性的处理。? ? 2. 编译时不检测异常(运行时异常):就是Exception中的RuntimeException和其子类。? ?? ???这种问题的发生,无法让功能继续,运算无法运行,更多是因为调用的原因导致的或者引发了内部状态的改变导致的。? ?? ???那么这种问题一般不处理,直接编译通过,在运行时,让调用者调用时的程序强制停止,让调用者对代码进行调整。? ?? ???所以自定义异常时,要么继承Exception,要么继承RuntimeException。? ? 示例:class FuShuIndexException extends RuntimeException{? ?? ?FuShuIndexException(){}? ?? ?FuShuIndexException(String msg){? ?? ?? ?? ? super(msg);? ?? ?}}class Demo{? ?? ? public static int method(int[] arr, int index){//RuntimeException没有必要用throws抛出,并不是必须要处理? ?? ?? ?? ? if(index 0){? ?? ?? ?? ?? ?? ? throw new FuShuIndexException(数组的角标是负数啦! );? ?? ?? ?? ? }? ?? ?? ?? ? return arr[index];? ?? ? }}复制代码? ?运行结果:? ??P.S.? ? RuntimeException是那些可能在Java虚拟机正常运行期间抛出的异常的超类。? ? 可能在执行方法期间抛出但未被捕获的RuntimeException的任何子类都无需在throws子句中进行声明。? ? 异常处理的捕捉形式:? ? 可以对异常进行针对性处理的方式。? ? 具体格式是:? ? try{? ?? ?? ?//需要被检测异常的代码。? ? }? ? catch(异常类 变量) //该变量用于接收发生的异常对象? ? {? ?? ?? ?//处理异常的代码。? ? }? ? finally{? ?? ?? ?//一定会执行的代码;? ? }? ? P.S.? ? finally代码块只有一种情况不会被执行,就是在之前执行了System.exit(0)。? ? 处理过程:? ? try中检测到异常会将异常对象传递给catch,catch捕获到异常进行处理。? ? finally里通常用来关闭资源。比如:数据库资源,IO资源等。? ? 需要注意:try是一个独立的代码块,在其中定义的变量只在该变量块中有效。? ? 如果在try以外继续使用,需要在try外建立引用,在try中对其进行初始化。IO,Socket就会遇到。? ? 示例:class FuShuIndexException extends RuntimeException{? ?? ?FuShuIndexException(){}? ?? ?FuShuIndexException(String msg){? ?? ?? ?? ? super(msg);? ?? ?}}class Demo{? ?? ? public static int method(int[] arr, int index) throws NullPointerException,FuShuIndexException{? ?? ?? ?? ? if(arr == null)? ?? ?? ?? ?? ?? ? throw new NullPointerException(没有任何数组实体);? ?? ?? ?? ? if(index 0){? ?? ?? ?? ?? ?? ? throw new FuShuIndexException(数组的角标是负数啦!);? ?? ?? ?? ?}? ?? ?? ?? ? return arr[index];? ?? ?}}class ExceptionDemo{? ?? ? public static void main(String[] args){? ?? ?? ?? ?int[] arr = new int[3];? ?? ?? ?? ?try{? ?? ?? ?? ?? ?? ?int num = Demo.method(arr,-30);? ?? ?? ?? ?? ?? ?System.
文档评论(0)