异常部分
1.常见的异常类:
ClassCastException | 类型转换异常 |
ClassNotFoundException | 未找到相应类异常 |
ArithmeticException | 算数异常 |
ArrayIndexOutOfBoundsException | 数组下标越界异常 |
ArrayStoreException | 数组中包含不兼容的值的异常 |
NullpointerException | 空指针异常 |
NoSuchFieldException | 字段未找到异常 |
SQLException | 数据库异常 |
NoSuchMethodException | 方法未找到异常 |
NumberFormatException | 字符串转数字的异常 |
NegativeArraySizeException | 数组元素个数为负的异常 |
StringIndexOutOfBoundsException | 字符串索引超出范围异常 |
IOException | 输入输出异常 |
IllegalAccessException | 不允许访问某一类的异常 |
InstantiationException | 当程序试图使用Class类中的newInstance方法创建实例,而指定的类对象无法被实例化 |
EOFException | 文件已结束异常 |
FileNotFoundException | 文件未找到异常 |
2.throws关键字
throws通常被用在声明方法的时候,例子如下:
public class push {
static void push() throws NegativeArraySizeException {
int a[] = new int[-3];
}
public static void main(String[] args) {
try {
push();
} catch (Exception e) {
System.err.println("push函数有问题");
}
}
}
2:自定义异常
项目中创建MyException类,并继承Exception类,在构造方法中调用super(ErrorMessage)方法
然后在像抛出异常的函数中写入throw new MyException("自己想输出的文字");,并在main中捕捉该异常(system.out.println(e);),可以做到显示异常信息输出
public class MyException extends Exception {
String message;
public MyException(String Errormessage) {
message = Errormessage;
}
public String getMessage() {
return message;
}
}
public class Operation {
static int add(int a, int b) throws MyException {
if (a > 0)
throw new MyException("第一个数不对");
return a + b;
}
public static void main(String[] args) {
try {
add(2, 2);
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
}
以上代码只是个例子不要当真,看懂怎么用就好。