Java异常处理

什么是异常

会打断程序进程的的代码

为什么需要处理异常

防止程序异常退出

异常分类

image

Error

java虚拟机无法处理的异常,一般是java虚拟机出现问题。

Exception

一般是程序员代码的问题

Runtime Exception

运行时异常

范围:
RuntimeException 及其子类
举例:

  • 指针异常
    特点:
    编译期间不能发现,
    要求:
    在代码中可以使用try catch finally 处理

Checked Exception

受检异常

范围:
RuntimeException 之外的类及其子类
举例:
要求:
JAVA强制要求处理

处理异常

image

异常处理与抛出的使用形式

try-catch

注意:有多个catch时候,异常子类要在异常父类前面

try{
	//可能发生异常的代码
}

catch(//产生异常的类型)//可以有多个catch语句,catch可以嵌套使用(异常子类,要在异常父类前)
{
  //异常处理
}
catch(ArithmeticException e)//数学异常
	{
		//异常处理
	}
catch(Exception e)
	{
		
	}

try-catch-finally

image

try{
	//可能异常的代码
}
catch(//异常类型)
{
	//异常处理
}
finally
{
	//无论异常与否,无论异常是否捕获,都执行
}

抛出异常

抛出的含义就是向用户输出一句话,并且结束程序
(实际上是返回一个Exception类型的对象)
image

throw

必须写在方法中

 if(n==0)
 {
	 throw new Exception("除数不能为零");
 }
else
{
	System.out.println(m/n);

throws

声明将抛出何种类型的异常,把异常交给该方法的调用者处理

public void methodName(参数列表) throws Exceotion 类型列表
{
//可能发生异常的代码
   throw new Exception();
//或者调用能抛出异常的方法
}

自建异常类型

例如...

package Product;

public class MyRuntimeException extends RuntimeException
{
         public MyRuntimeException(String mesage)
         {
        	 super(mesage);
         }
}

posted @ 2021-10-25 09:44  kingwzun  阅读(43)  评论(0编辑  收藏  举报