1.空指针异常(java.lang.nullpointerexception)
发生该情况一般是字符串变量未初始化,数组未初始化,类对象未初始化等。还有一种情况是当该对象为空时你并没有判断是否为空值,这个错误我在之前的web习题上犯过,因此为了避免这种情况,除了检查是否初始化之外,如有必要则要加上判断是否为null的if语句。
2.指定的类不存在(java.lang.ClassNotFoundException)
出现这个错误的原因之一是缺包,这时只要下载并导入相应的包即可;当我们已经把包导入的时候,又报了这种错误的情况下,就需要开启自己的编辑器去调整设置了;在使用tomcat的时候,先检查lib中是否导入了jar。
3.字符串转换为数字异常(java.lang.NumberFormatException)
这个错误就是字符串中出现非数字型字符时,转换为数字时发生异常;除此之外,如果字符串转换为数字时超过了类型的范围(比如string转int和string转double),也会出现这个错误。解决该问题的方法就是在转换之前先对字符串进行检查。
4.数组下标越界异常(java.lang.IndexOutOfBoundsException)
顾名思义,你想取的数组元素在数组中并没有定义出来,比如定义了一个长度为5的数组a,当你想取a[6]元素时肯定会出错。解决这类问题就是要注意数组的长度,有时候为了减少空间浪费我们会使用动态数组构建方法,这时在对数组进行操作时建议先用length获取其数组长度,从而规避错误。
5.数学运算异常(java.lang.ArithmeticException)
除数为0时会报出该错误,解决方法:避免除数为0。这个错误解读为“出现异常的运算条件”,除了除数为0的情况之外,可能还有其他的异常情况,届时具体情况具体分析。
6.没有访问权限(java.lang.IllegalAccessException)
权限问题,在程序访问某方法时注意一下访问权限即可(public/private),这种错误在使用package时容易发生。
7.方法的参数错误(java.lang.IllegalArgumentException)
在调用带有参数的方法时,请注意传递的参数是否正确。
8.数据类型转换异常(java.lang.ClassCastException)
在进行强制类型转换时容易发生该错误,在进行转换前先对类型进行判别,规避错误。
package com.hspedu.exception_; public class Exception01 { public static void main(String[] args) { int num1 = 10; int num2 = 0;//Scanner(); //2. 当执行到 num1 / num2 因为 num2 = 0, 程序就会出现(抛出)异常 ArithmeticException //3. 当抛出异常后,程序就退出,崩溃了, 下面的代码就不再执行 //4. 不应该出现了一个不算致命的问题就导致整个系统崩溃 //5. java 设计者,提供了一个叫异常处理机制来解决该问题 //如果程序员,认为一段代码可能出现异常/问题,可以使用try-catch异常处理机制来解决,从而保证程序的健壮性 //将该代码块->选中->快捷键 ctrl + alt + t -> 选中 try-catch //6. 如果进行异常处理,那么即使出现了异常,程序可以继续执行 try { int res = num1 / num2; } catch (Exception e) { //e.printStackTrace(); System.out.println("出现异常的原因=" + e.getMessage());//输出异常信息 } System.out.println("程序继续运行...."); } }
标签:lang,java,错误,int,10.18,数组,异常 From: https://www.cnblogs.com/dmx-03/p/17815235.html