Demo03.java 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package J20250718.demo02_exception;
  2. /**
  3. * @author WanJl
  4. * @version 1.0
  5. * @title Demo03
  6. * @description
  7. * @create 2025/7/18
  8. */
  9. public class Demo03 {
  10. public static void main(String[] args) throws AgeException{
  11. Person p=new Person();
  12. //方案一:使用try...catch...finally 检测并处理并且执行必须要执行的代码
  13. try{
  14. p.setName("");
  15. }catch (NameSizeException e){
  16. //一般我们也可以正常打印错误信息..
  17. e.printStackTrace();//把异常的错误信息打印到控制台
  18. }finally {
  19. System.out.println("我是一定能会被执行的代码........");
  20. }
  21. System.out.println("后面的代码要执行.....不能停");
  22. //方案二:使用try...catch 检测并处理
  23. try{
  24. p.setName("");
  25. }catch (NameSizeException e){
  26. //一般我们也可以正常打印错误信息..
  27. System.out.println(e.getMessage());//返回详细的信息
  28. System.out.println(e.toString());//返回简要的信息
  29. }
  30. //方案三:使用try...finally 只检测并且执行必须要执行的代码,不做任何处理,还是抛出
  31. try{
  32. p.setAge(-3);
  33. }finally {
  34. System.out.println("我一定会被执行....");
  35. }
  36. // try{
  37. // int[] arr={1,2,3};
  38. // System.out.println(arr[3]);
  39. // }catch (ArrayIndexOutOfBoundsException e){
  40. // //e.printStackTrace();//打印错误信息
  41. // //System.out.println(e.getMessage());
  42. // System.out.println(e.toString());
  43. // }
  44. }
  45. }