Java基础之trycatch的使用

青旅半醒 2023-02-08 15:58 330阅读 0赞
  1. /*
  2. 异常处理的捕捉形式:
  3. 这是可以对异常进行针对性处理的方式。
  4. 具体格式是:
  5. try
  6. {
  7. //需要被检测异常的代码。
  8. }
  9. catch(异常类 变量)//该变量用于接收发生的异常对象
  10. {
  11. //处理异常的代码。
  12. }
  13. finally
  14. {
  15. //一定会被执行的代码。
  16. }
  17. 异常处理的原则:
  18. 1,函数内容如果抛出需要检测的异常,那么函数上必须要声明。
  19. 否则必须在函数内用trycatch捕捉,否则编译失败。
  20. 2,如果调用到了声明异常的函数,要么trycatch要么throws,否则编译失败。
  21. 3,什么时候catch,什么时候throws 呢?
  22. 功能内容可以解决,用catch。
  23. 解决不了,用throws告诉调用者,由调用者解决 。
  24. 4,一个功能如果抛出了多个异常,那么调用时,必须有对应多个catch进行针对性的处理。
  25. 内部又几个需要检测的异常,就抛几个异常,抛出几个,就catch几个。
  26. */
  27. class FuShuIndexException extends Exception
  28. {
  29. FuShuIndexException()
  30. {
  31. }
  32. FuShuIndexException(String msg)
  33. {
  34. super(msg);
  35. }
  36. }
  37. class Demo
  38. {
  39. public int method(int[] arr,int index)//throws NullPointerException,FuShuIndexException
  40. {
  41. if(arr==null)
  42. throw new NullPointerException("没有任何数组实体");
  43. if(index<0)
  44. throw new FuShuIndexException();
  45. return arr[index];
  46. }
  47. }
  48. class ExceptionDemo4
  49. {
  50. public static void main(String[] args)
  51. {
  52. int[] arr = new int[3];
  53. Demo d = new Demo();
  54. try
  55. {
  56. int num = d.method(null,-1);
  57. System.out.println("num="+num);
  58. }
  59. catch(NullPointerException e)
  60. {
  61. System.out.println(e.toString());
  62. }
  63. catch (FuShuIndexException e)
  64. {
  65. System.out.println("message:"+e.getMessage());
  66. System.out.println("string:"+e.toString());
  67. e.printStackTrace();//jvm默认的异常处理机制就是调用异常对象的这个方法。
  68. System.out.println("负数角标异常!!!!");
  69. }
  70. /*
  71. catch(Exception e)//多catch父类的catch放在最下面。
  72. {
  73. }
  74. */
  75. System.out.println("over");
  76. }
  77. }

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,330人围观)

还没有评论,来说两句吧...

相关阅读

    相关 javatryCatch

    在进行代码编写的时候我们其实是不能预料到所有的可能出现的结果的因为实际使用的用户他是不知道我们的实现逻辑的所以呢,他们的操作也是离奇的怪的,所以我们是不能控制用户输入怎样的操作