1 问题
如何运用catch块多类抓取异常?
2 方法
首先创建一个package包:persons,将其Age类及相关代码放入其中,并在该package包下创建另一个类Person,然后通过构造函数,写入相关参数及需要运行的对象信息并对其进行条件判断,最后在Age类中用new***()格式重新将对象实例化,结合try-catch-finally语句对异常进行抓取并分析处理,相关代码及结果如下:
异常类型分析
catch块异常多类抓取
package persons; public class Person { int setage; Person(int setage) { if (setage > 0&&setage<200) { this.setage = setage; } else { throw new IllegalArgumentException("输入年龄不合法"); } } } package persons; import java.util.InputMismatchException; import java.util.Scanner; public class Age { public static void main(String[] args) { Scanner person = new Scanner(System.in); System.out.println("请输入年龄:"); try{ int setage = person.nextInt(); }catch (NullPointerException e) { throw new NullPointerException("年龄不能为空"); }catch (IllegalArgumentException e) { System.out.println("输入年龄不合法"); }catch (InputMismatchException e) { System.out.println("年龄格式不准确"); }finally { System.out.println("运行结束"); } } } |
3 结语
针对catch块多类抓取异常问题,提出try-catch-finally语句、创建package包、构造函数、对象实例化格式new***()方法,通过catch块异常多类抓取实验,证明该方法是有效的,本文的方法在异常多类抓取过程中只能抓取对应的异常,因而需要多方面分析可能会出现的异常类型,后期可通过方法改进高效抓取异常并对其进行定位。