- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
public void method(){ try { // 代码段 // 产生异常(异常类型2) } catch (异常类型1 ex) { // 对异常进行处理的代码段 } catch (异常类型2 ex) { // 对异常进行处理的代码段 } catch (异常类型3 ex) { // 对异常进行处理的代码段 } // 代码段 } 多重catch块 2-1 一段代码可能会引发多种类型的异常 当引发异常时,会按顺序来查看每个 catch 语句,并执行第一个与异常类型匹配的catch语句 执行其中的一条 catch 语句之后,其后的 catch 语句将被忽略 try 与异常类型1不匹配 try/catch 块后的代码段 发生异常 产生异常对象 catch 与异常类型2匹配 catch catch 程序继续执行 进入catch块 多重catch块 2-2 public class ExceptionExample4 { public static void main(String[] args) { Scanner in = new Scanner(System.in); try{ System.out.print(“请输入S1的总学时:); int totalTime = in.nextInt(); //总学时 System.out.print(“请输入S1的课程数目:); int totalCourse = in.nextInt(); //课程数目 System.out.println(“S1各课程的平均学时为: + totalTime / totalCourse); } catch (InputMismatchException e1) { System.out.println(输入不为数字!); } catch (ArithmeticException e2) { System.out.println(课程数目不能为零!); } catch (Exception e) { System.out.println(发生错误:+e.getMessage()); } } } 输入:270 H 在安排catch语句的顺序时,首先应该捕获最特殊的异常, 然后再逐渐一般化,即先子类后父类 输出: 输入不为数字! 进入第一个 catch块 输入:270 0 输出: 课程数目不能为零! 进入第二个 catch块 抛出异常 如果在当前环境无法解决一个异常,就要将其抛出,把异常交给调用者处理 public class Teacher { private String id; // 教员编号,长度应为7 public void setId(String pId){ // 判断教员编号的长度是否为7 if (pId.length() == 7) { id = pId; } else { throw new IllegalArgumentException(参数长度应为7!); } } } public class TeacherTest { public static void main(String[] args) { Teacher teacher = new Teacher(); try { teacher.setId(088); } catch (IllegalArgumentException ex) { System.out.println(ex.getMessage()); } } } 抛出异常 捕获异常 参数长度应为7! 控制台输出 com.great.exception.chp1.ThrowDemo1 声明异常 public class Teacher { private String id;// 教员编号,长度应为7 public void setId(String pId) throws IllegalArgumentException{ // 判断教员编号的长度是否为7 if (pId.length() == 7) { id = pId; } else { throw new IllegalArgumentException(参数长度应为7!); } } } public class TeacherTest { public static void main(String[] args) { Teacher teacher = new Teache
文档评论(0)