连不上数据库

【学习版】常见异常和异常记录_System

常见的异常:

java.lang.StringIndexOutOfBoundsException: String index out of range: -1
这是截取字符串substring()产生的下标越界异常。原因是可能是字符串为空,或长度不足1

java.lang.NullPointerException空指针异常
出现该异常的原因在于某个引用为null,但却调用了它的某个方法,这时就会出现该异常
常见null.某方法 map可以get null,其他情况get null一般报空指针异常

ClassCastException
类型强制转换异常,例如:Object x = new Integer(0);System.out.println((String)x);

IllegalArgumentExceptio
传递非法参数异常,此异常表明向方法传递了一个不合法或不正确的参数。你看看传值的方法是否参数不正确

NumberFormatException
数字格式异常,例如:把"176//240"这个输入字条转换为一个数字

运行时异常

RuntimeException类是Exception类的子类,它叫做运行时异常,Java中的所有运行时异常都会直接或者间接地继承自RuntimeException类。
  Java中凡是继承自Exception,而不继承自RuntimeException类的异常都是非运行时异常


Error

1、java.lang.StackOverflowError
栈溢出
Java虚拟机虚拟机无法解决的问题,如JVM系统内部的错误,资源耗尽等严重的情况
2、java.lang.OUtOfMemoryError 堆溢出

Exception

【学习版】常见异常和异常记录_System_02

编译异常

【学习版】常见异常和异常记录_java_03

1、NullPointerException 空指针异常,比如数组值定义为null,但是非要把它给输出来,明显取不到值。(不是数组的时候也会出现空指针异常),一般出现空指针异常的时候,定位到改代码块,检查某些值是否赋值为null的时候合理。

2、ArrayIndexOutOfBoundsException 数组越界异常,数组一旦定义下来了之后长度就确定了,比如定义的长度为23,你想取得值为25,就会报数组越界的异常,解决方案也较为简单。

3、ClassCastException 类型冲突,类强制转换异常

public class Exception {
public static void main(String[] args) {Object obj = new Date();
int a = (int)obj;
System.out.println(a);
}
Object obj = new Date();
int a = (int)obj;
System.out.println(a);
}

4、NumberFormatException 数字格式异常

String s = "78879";
double result = Double.parseDouble(s);
System.out.println(result);
s = "zhognhua";
result = Double.parseDouble(s);//Exception in thread "main" java.lang.NumberFormatException: For input string: "zhognhua"
System.out.println(result);

5、InputMismatchException
输入不匹配异常 该异常强调在输入的时候不匹配,结合上面的异常加上输入时编译器识别不出导致的异常

Scanner number = new Scanner(System.in);
int num = number.nextInt();
System.out.println(num);

6、ArithmeticException
算术异常 比如我们数学中的0不能做除数