异常
1、种类(error 系统异常,无法处理)(exception 程序异常,可以处理)
1.算数异常
2.空指针异常
原因:对象没有实例化就调用他的实例方法,会造成空指针异常
2、常见异常
1.RuntimeException 运行时异常
2. 空指针异常
3. 运算时异常
3、异常处理机制 (抓抛模型)
1.抓住异常 ( try )
try //抓住异常(用try运行{}内的代码,如果有问题会被catch抓住)
{
String a = null;
a.trim(); //调用空值异常
}
catch(Exception b) //将异常捕获并赋给类b (可以单独捕获特定的异常)(也可以写多个catch对不同的异常进行捕获)
{
System.out.println("捕获异常") //捕获的异常(记录异常信息,储存日志)
b.printStackTrace() //把异常信息打印到控制台
}
finally
{
内部的代码一定会被执行
}
System.out.println("继续运行") //处理完后继续运行的程序
访问文件 file file = new file(“d:a.txt”)
使用输入流打开文件 fileInputstream in = new fileInputstream(file);
2.抛出异常
throws (写在方法名后) 例: public void a()throws Exception
throw (写在方法内部,主动抛出异常) 例:public void a()throws Exception
(一般在方法后加throws,声明抛出的类型) {
(除了运行时异常 runtimeException) if(b==0)
{throw new Exception()}
}
4、用法
1.getMessage() 获取异常信息
2.printStackTrace() 向控制台打印堆栈信息
5、自定义异常
1.必须继承于Exception或他的子类
2.适用于传递特性的与业务逻辑有关的异常
3.便于特定异常进行处理