异常:在程序中发生了不正常的行为叫异常。
Java异常的两种情况:
1.error :Java虚拟机无法解决的严重问题,如Jvm内部错误,资源耗尽,StackOverflow
2.exception:编程错误,偶然错误导致的一般性问题就叫异常,如null,数组下标越界。
exception又分为两种情况:
1.运行时异常:不强制处理的异常,
2.编译时异常:程序运行时由外界因素造成的一般性异常,需要Java捕获,必须处理
编译时异常有两种处理方法:
1.抛 throws
2.抓 try {} catch(){} finally{}
红色的都是要处理的。
1.抛出异常:抛给调用者处理,谁调用谁处理
public static void mian throws Exception()
{
thread.sleep(1000);
}
2.抓取
try
{
Thread.sleep(1000);
}
catch(InterruptedException e)
{
e.printStackTrace()
}
jdk规定了遇到红色的,一定要throws 或者 try catch
error必须结束 ,类似不治之症
Exception 处理完即可,小感冒发烧。
多级catch
try
{
Thread.sleep(1000);
class。forName("mysql.jdbc.driver");
}
catch(InterruptedException e)
{
e.printStackTrace()
}
catch(Exception e2)
{
e2.printStackTrace()
}
自定义异常:
我们自己写,必须继承Exception或者其他Exception
public class MyException exends Exception
{
public MyException()
{
}
public MyException(String msg)
{
super(msg);
}
}
如果不想用自定义异常,可以用RuntimeException(),摸鱼小技巧呢。