Java异常处理-抓抛模型
过程一:“抛”:程序在正常执行的过程中,一旦出现异常,就会在异常代码处生成一个对应异常类的对象,
* 并将此对象抛出。
* 一旦抛出对象以后,其后代码就不再执行。
*
* 关于异常对象的产生:①系统自动生成异常对象
* ②手动生成一个异常对象,并抛出(throw)
过程二:“抓”:可以理解为异常处理方式。①try-catch-finally ②throws
/** * 异常处理,抓抛模型 * * 过程一:“抛”:程序在正常执行的过程中,一旦出现异常,就会在异常代码处生成一个对应异常类的对象, * 并将此对象抛出。 * 一旦抛出对象以后,其后代码就不再执行。 * * 关于异常对象的产生:①系统自动生成异常对象 * ②手动生成一个异常对象,并抛出(throw) * 过程二:“抓”:可以理解为异常处理方式。①try-catch-finally ②throws * * 一、try-catch-finally处理 * try * { * //可能出现异常代码 *} *catch (异常类型1 变量名1) *{ * *} * catch (异常类型2 变量名2) *{ * *} * ....... *finally * { * //一定会执行的代码 *} * * * 说明 * 1.finally是可选的 *2.使用try将可能出现异常代码包装起来,在执行过程中,一旦出现异常,就会生成一个对应异常类的对象,根据此对象的类型 * ,去catch中匹配 *3.一旦try中的异常对象,匹配到某个catch时,就会进入catch中进行异常的处理,一旦处理完成, * 就跳出当前的try-catch结构(没有finally情况下),继续执行其后的代码 *4.常用的异常处理方法:①String getMessage(),②printStackTrace(); * * * * * 二、throws * * @author orz */ public class ExceptionTest1 { public static void main(String[] args) { try { String str="123"; str="abc"; int num=Integer.parseInt(str); System.out.println("hello-1"); } catch (NumberFormatException e) { e.printStackTrace(); //System.out.println("出现数值类型转换异常"); //System.out.println(e.getMessage()); } System.out.println("hello-2"); } }