掌握异常,使用时间,语法,自定义异常
异常类的基类:java.lang.Throwable
Throwable有两种异常 1 Error 2 Exception
Exception 分为 1 系统预定义异常 2 用户自定义异常
系统预定义异常 分为 1 运行时异常 2 检查性异常
常见异常:
ArrayIndexOutOfBoundException 数组越界
ArithmeticException 除以0异常
NullPointerException 空指针异常
检查性异常:
在编写代码时间提示的异常,如:
Socket socket = new Socket("192.168.1.1",80);/*建立一个网络连接*/
在写出这个代码的时候会报错:
Multiple markers at this line
- Unhandled exception type UnknownHostException - Resource leak: 'socket' is never closed - Unhandled exception type IOException解决方案:
try {
Socket socket = new Socket("192.168.1.1",80); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }运行时异常:
int a =4/0; //写代码不会出错
但是运行时:
Exception in thread "main" java.lang.ArithmeticException: / by zero
at Exception.Exception1.main(Exception1.java:30)Error:
严重错误,一般程序崩溃
异常处理的5个关键字:
try catch finally throw throws
1.Try/catch用法:
try{
........
}catch(异常类型 e){
.....
} // 如果try块产生的异常不是catch能捕获的异常时,程序中断运行,这叫做异常不匹配,可以自己测试。
2.多重异常:
try {
int a = 4/0; } catch (ArrayIndexOutOfBoundsException e) { }catch (NullPointerException e) { }
自定义异常