1.什么是异常
写模块,用户输入不一定符合要求,程序要求大开某个文件,这个文件不存在,或格式不对,程序运行时内存满了
异常的英文是Exception
异常是指程序运行中出现的不期而至的各种情况,如:文件找不到,网络连接失败,非法参数等。
异常发生在程序运行期间,他影响了正常的程序执行流程。
1.1 简答分类
三种类型异常:
检查性异常
运行时异常
错误error
1.2 异常处理机制
抛出异常
捕获异常
异常处理五个关键字
try、catch、finally、throw、throws
快捷键 Ctrl + alt + T;自动生成try catch finally
throw 在方法里用
throws 在方法外用
1.3自定义异常
使用java内置的异常类可以描述在编程时出现的大部分异常情况,除此之外,用户可以自定义异常类,只需继承Exception类即可。
在程序中使用自定义异常类,分为以下几个步骤:
1.创建自定义类。
2.方法中通过throw关键字抛出异常对象。
3.如果在当前抛出异常的方法中处理异常,可以使用try——catch语句捕获并处理;否则方法的申明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步的操作。
4.再出现异常方法的调用者中捕获并处理异常。
package com.exception.demo02;
public class Myexception extends Exception{
//传递数字>10
private int detail;
public Myexception(int a) {
this.detail = a;
}
//tostring
@Override
public String toString() {
return "Myexception{" +
"detail=" + detail +
'}';
}
}
package com.exception.demo02;
public class test03 {
//可能会存在异常的方法
static void test(int a) throws Myexception{
if (a>10){
throw new Myexception();//抛出改为 throw new Myexception(a)
/*
java: 无法将类 com.exception.demo02.Myexception中的构造器 Myexception应用到给定类型;
需要: int找到:没有参数
原因: 实际参数列表和形式参数列表长度不同
*/
}
System.out.println("ok");
}
public static void main(String[] args) {
try {
test(1);
}catch (Myexception a){
System.out.println("Myexception =>"+a );
}
}
}
java: 无法将类 com.exception.demo02.Myexception中的构造器 Myexception应用到给定类型;
      需要: int
     找到: 没有参数
     原因: 实际参数列表和形式参数列表长度不同