java搜索项目内的异常_关于JAVA项目中的常用的异常处理情况

在我们进行java代码的编写时难免会出现异常情况,它的种类并不复杂大致可以分为Exception和error两种情况;Exception 又有两个分支 , 一个是运行时异常 RuntimeException , 一 个是检查异常 CheckedException。但如果真正具体到实例的话可就能用铺天盖地来形容,例如仅仅是常见的空指针异常就能包含未实例化对象,调用的数组对象为空,获取一个空数组的长度情况。并且随着我们学习的不断深入,越来越多的知识需要被运用在我们的代码中,但由于使用起来并不熟练将会导致在运行时产生各种各样难以理解的错误,有的可能是程序员一时走神将某个变量名写错;有的可能是在复制粘贴后忘记更改变化的i;有的可能是在各部分连接时发生错误;但可怕的不是出错而是改错,java虚拟机也并没有任何工具能够实现自动纠正错误的功能。这就涉及到在java学习中的一项重要内容那就是对异常的处理。

对异常的处理也是要按部就班的首先我们要通过大量的编写代码经验判断出异常的易发点,接着在这些易发点上编写代码当出现异常时如何处理,我们可以实现当异常发生时将异常抛出达到告知的效果;同样我们也可以实现将异常抛出后并进行相应的处理,这就又增加了处理的代码。并且针对不同的异常我们要有与之对应的解决方法,正所谓药不一定要用贵但一定要用对。为此我们要了解一些常见的异常处理方法。

第一种是OutOfMemoryError。这种异常大多是由于空间问题引发,如数组长度过小,过多资源被长期占用而没有被释放,程序陷入死循环等都会引发这种错误。这类错误的修改也较为容易只需编写代码实现异常的抛出并对各个易发生异常的点进行不同的标记,当运行后出现异常时查看异常内容寻找所写代码与之对应的片段根据点位不同进行异常处理即可。此类问题由于异常类别的特殊性无法实现自动将问题处理,我们只能被迫手动去将异常修改掉,虽然这看起来十分繁琐但同样由于该问题的特殊性其修改也相对容易,无非是将所需空间拓展,或将未释放的内存释放,或由于算法不兼容而去更改算法等操作。这对比其他异常的确较为容易。

第二种是IllegalArgumentException。这项异常的发生是由于参数的传输错误而导致,我们在使用类时,方法时大多会向其中传入应有的参数但我们可能由于一时疏忽就出现参数顺序写反或参数类型写错等低级错误。于是我们得到的就会是一个本类型的异常,对此我们的处理方法也较为固定只需在异常可能发生区编写抛出异常方法,并获取此异常之后调用修改方法强制将错误的参数数据类型转换为方法所对应的参数数据类型。对于交互式的情况我们可以只获取异常并抛出,将异常原因呈现给交互者这样既能让交互者实现交互又能减少处理代码的添加。

第三种是IOException。此类异常我们能很容易的就理解原因,我们知道I代表输入,O代表输出,没错此类错误就是在输入输出是发生的异常,如在文件的存取时发生的错误,在输出时无法找到变量等。这类问题较为复杂,情况多种多样解决方法也因代码的不同而变化所以这就需要我们在输入输出的语句上多加练习尽量避免此类错误,在一些细节问题上多加留意不要因贪图速度而不考虑质量这无疑是在自找麻烦。

第四种是ArithmeticException。此类异常原因为算术条件异常,如整数除零便是一种十分常见的情况。对于此类错误我们应考虑当时的计算情况并据此编写相应的异常处理方式,同时我们要深度考虑有些看上去不会出现异常的点却极有可能出现错误,如当涉及到自增自减时就极有可能出现此类问题当然这也需要我们在实践的过程中自己不断吸收他人经验,吸取自己惨痛的教训。

第五种是ArrayIndexOutOfBoundsException。此类异常会在用户调用数据索引越界时发生,如当调用的数组索引值为负数或大于定义时的大小时便会发生此类异常,此类异常十分具体也很容易理解那么我们只需在数组调用区域增加异常捕获代码并在发生异常后将异常抛出让我们能清晰地看见异常是否发生,发生在哪个区域然后将所对应的代码片段进行修改即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值