Java学习-异常

1.什么是异常
运行时出现的错误就是异常
2.异常的分类
Error: 运行时出现的错误并且不可处理.
Exception: 运行时出现可处理的错误.
3.常用的异常有那些(当前学到的)
java.io.IOException IO流异常
java.io.FileNotFoundException 指定文件不存在或试图打开因为某些原因不可访问的文件时出现此异常.
java.lang.RuntimeException 系统自动处理的异常
java.lang.NullPointerException 空指针异常.
java.lang.IndexOutOfBoundsException 数组越界异常
java.lang.ArithmeticException 除零异常
目前就想起这么多来
4.异常处理有几种方式

thowrs 被动异常处理,会影响程序的执行,会向上抛出异常.

try{}catch(){}finally{} 主动处理异常,不会影响程序执行

5.异常的使用(代码演示)
package cn.pcl.exception;
/**
 * throws向上抛出异常代码演示,注意会影响程序的执行
 */
public class Test {

	public static void main(String[] args) throws  Exception{
		int i = 1/0; // 这句将会引起除零异常
		System.out.println("我被执行了");
	}

}

package cn.pcl.exception;
/**
 * 主动处理异常演示,注意finally代码块中的代码不论发不发生错误都会出现执行
 */
public class Test {

	public static void main(String[] args){
		try {
			int i = 1/0; // 这句将会引起除零异常
		} catch (Exception e) {
			System.out.println("出现异常,异常信息为:" + e.getMessage());
		} finally {
			System.out.println("不论对错我将始终执行");
		}
		System.out.println("我被执行了");
	}

}



6.自定义异常应该如何实现(代码演示)

package cn.pcl.exception;
/**
 * FileName: ZeroException
 */
public class ZeroException extends Exception {
	// 第一种方法来实现异常类自定义
	/**
	 * 通过调用父类的构造函数,来初始化错误信息
	 * @param msg 错误信息
	 */
	public ZeroException(String msg) {
		super(msg);
	}
	// 第二种方法来实现异常类的自定义.
	public ZeroException(){}
	/**
	 * 通过重写父类的toString方法来实现
	 */
	public String toString() {
		return this.getClass().getName() + ": 除零异常";
		
	}
}

package cn.pcl.exception;
/**
 * FileName: ZeroException
 */
public class Test {

	public static void main(String[] args){

			try {
				int i = Test.zeroInt(1, 0);
			} catch (ZeroException e) {
				e.printStackTrace();
			}
		System.out.println("我被执行了");
	}
	public static int zeroInt(int a, int b) throws ZeroException {
		// 判断条件然后抛出异常,注意throws 和 throw 的区别
		if(b == 0) { throw new ZeroException(); }
		return a/b;
	}
	
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值