java常见运行异常以及异常的处理、定义和抛出

Ehrowable:Exception(异常,通过异常处理机制进行异常处理)、Error(错误,无法处理只能修改代码)
在这里插入图片描述
异常的分类:运行时异常(非检测异常),非运行时异常(检测异常)

常见的异常

NullPointerException:空指针异常,由于对象为空但是仍然调用方法
ArithmeticException : / by zero :数学异常,除数不能为零
IndexOutOfBoundsException:索引越界异常
ArrayIndexOutOfBoundsException:数组下标越界异常
StringIndexOutOfBoundsException:字符串下标越界异常
NumberFormatException:数字格式异常
ClassCastException:数据类转换异常

异常处理

try {//放入可能发现异常的代码
			//return;  遇见return会在返回之前执行finally
			//System.out.println(100/0);  不论是否异常finally都会执行
//			强制关闭程序    不会执行finally
			System.exit(0);
//      catch捕获异常进行异常处理,捕获成功便处理异常继续执行,捕获失败便异常未处理程序中断		
		} catch (ArithmeticException e) {
			// TODO: handle exception
			System.out.println("异常处理了,代码继续执行");
		}finally{
			System.out.println("只有手动或强制关闭程序的时候,才不执行");
		}

异常的定义

public class LoginException extends Exception{
	public LoginException(String message){
		super(message);
	}
}

抛出异常

//抛出异常的两种方法
LoginException le=new LoginException("对不起登录失败");
throw new LoginException("对不起登录失败")
//LoginException是定义的异常

throw

运行时异常是JVM自动抛出,非运行时异常需要程序员用throw关键字抛出

throws

  • throws用在方法声明处,声明该方法可能发生的异常类型

  • 一个方法如果使用了throws,那么调用该方法时,编译期会提醒必须处理这些异常,否则编译错误
    在这里插入图片描述

  • throws后可以声明多种类型,用逗号隔开即可;

  • 抽象方法也可以使用throws声明该方法可能抛出的异常类型;

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值