JAVA基础—12.异常机制&Exception

爱转圈笔记

勤思、体悟、总结、分享

异常机制

Exception

什么是异常

异常机制可以使异常处理代码与正常业务代码分离开来,提高程序的容错性和稳定性。


异常机制常用的关键字

try 、catch 、finally 、throw 、throws

  • try:try{}块中放入可能出现异常的代码
  • catch:catch(){}块中捕获可能出现的异常
  • finally:finally{}块可有可无,无论是否出现异常都会执行块内代码
  • throw:用于抛出异常
  • throws:用于在方法入口声明可能出现的异常类型
public class LearnException {
	public static void main(String[] args) {
		try {
			//try块内放入可能会出现异常的代码
			learn();
			//出现异常代码之后的代码不会执行
			System.out.println("出现了异常后的代码");
		} catch (Exception e) {
			//catch块会捕获异常并进行处理
			e.printStackTrace();
		} finally {
		    //finally块常用来回收资源
		    //如数据库链接、IO流和网络链接等
			System.out.println("运行到了finally");
		}
	}
	
	//使用throws声明异常,throw抛出异常
	public static void learn() throws Exception {
		//抛出一个异常
		throw new Exception("方法内出现了异常了");
		
	}
	
	/*运行结果:
	 * 
	 * java.lang.Exception: 方法内出现了异常了
	   at 异常.LearnException.learn(LearnException.java:22)
	   at 异常.LearnException.main(LearnException.java:7)
	        运行到了finally*/
}

异常类继承关系

  • Error:错误,这种错误无法恢复或不可能捕获,一旦发生,程序将终止运行。
  • Exception:异常,可以进行捕获,发生时程序不会终止运行。

在捕获异常是,一定要先捕获范围小的异常,再捕获范围大的异常。

访问异常信息的常用方法

  • String getMessage():获取异常的详细描述字符串。
  • void printStackTrace():将异常跟踪栈信息输出到标准错误输出。
  • StackTraceElement[] getStackTrace():获取异常的跟踪栈信息。

自定义异常

继承Exception类并提供构造方法

public class CreateException extends Exception {
	//无参构造方法
	public CreateException() {
		
	}
	//带参构造方法
	public CreateException(String msg) {
		System.out.println("我是一个自定义异常");
	}
}

猜你喜欢

转载自blog.csdn.net/wyd288/article/details/86676128