1. Java的异常是通过五个关键字来实现的:
try , catch , finally ,throw 和 throws
2. try--catch 块
首先执行的是try语句块中的语句,这时可能会出现三种情况:
(1)如果try中的所有语句都正常执行完毕,不会发生异常,那么catch块中的所有语句都将会被忽略,当我们在控制台输入两个整数时候,try语句中的代码将正常执行,不会执行catch语句块中的代码。
(2)如果try语句块在执行过程中遇到异常,并且这个异常与catch中声明的异常相匹配,那么在try块中其余剩下的代码都将被忽略,而相应的catch块将会被执行。匹配是指:catch 所处理的异常类型与所生成的异常类型完全一致或是他的父类。
(3)如果try语句在执行过程中遇到异常,而抛出的异常在catch块里没有被声明,那么程序立刻退出。
在catch块中可以加入用户自定义处理信息,也可以调用异常对象的方法输出异常信息。
常用的方法主要有以下两种:
1.void printStackTrace(): 输出异常的堆栈信息。堆栈信息包括程序运行到当前类的执行流程,他将输出从方法调用处到异常抛出处的方法调用序列
2.String getMessage(): 返回异常信息描绘字符串。该字符串描绘异常产生的原因,是printStackTrace() 输出信息的一部分。
3.如果try块在执行中遇到正常,那么在try块中其余剩下的代码都将被忽略,系统会自动生成相应的异常对象,包括异常的类型,异常出现时程序的运行状态及对异常的详细描述,如果这个异常对象与catch中声明的异常类型想匹配,会把该异常对象赋给catch后面的异常参数,相应的catch块将会被执行。