一、Java异常处理详解
异常.png
目录:
1.java中异常的分类
1.1 异常(Exception)
1.1.1 运行时异常(RuntimeException)
可以不需要捕获
1.1.2 编译异常(IOException)
编译器会提示要捕获,如果不进行捕获则编译器会报错
1.2 错误(Error)
3.java处理异常机制
4.throw和throws的区别
5.如何捕获异常
try-catch-finally
6.不同异常的捕获要分开处理
二、检查型异常和非检查性异常对比
检查型异常.png
非检查型异常.png
三、throws和throw的区别 以及 throws、throw和try、catch的对比
class FuShuException extends Exception //getMessage();
{
private int value;
FuShuException()
{
super();
}
FuShuException(String msg,int value)
{
super(msg);
this.value = value;
}
public int getValue()
{
return value;
}
}
class Demo
{
//通过throws 和 throw捕获异常
int div(int a,int b)throws FuShuException
{
if(b<0) {
// 手动通过throw关键字抛出一个自定义异常对象。
throw new FuShuException("出现了除数是负数的情况------ / by fushu",b);
}
return a/b;
}
}
class ExceptionDemo3
{
public static void main(String[] args)
{
Demo d = new Demo();
//通过try-catch捕获异常
try
{
int x = d.div(4,-9);
System.out.println("x="+x);
}
catch (FuShuException e)
{
System.out.println(e.toString());
//System.out.println("除数出现负数了");
System.out.println("错误的负数是:"+e.getValue());
}
System.out.println("over");
}
}