Java 初学者-异常处理

今天学习了什么?

异常的作用:Java提供的异常处理机制,在程序出现不正常的情况下会把不正常的信息输出到控制台。供程序员参考修改。提高程序的健壮性。

生活异常:零件损坏(类模板) 不同地方零件损坏(实例对象)

1.1异常以类和对象的形式存在。

1.指针异常:空指针异常。NullPointerException

2.类型转换异常:ClassCastException

3.算术异常:AirthmeticException

4.

 

 

 

5.Throwable类的个体Message()/printStackTrace()两个方法,所有异常都有。

6.编译时异常(Exception的直接子类):受检异常。所有的异常在编译前必须进行预处理,并非异常在编译阶段发生,所有的异常都是中运行阶段才可能发生。

运行时异常(RunTimeException) 运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。

 

 

 

7.编译时异常与运行时异常的区别:运行时异常发生概率较高,需要预处理。下雨很可能生病,于是要打伞。

  运行时异常:出门被石头砸到。

 注:所有异常都发生在运行阶段。

8.Java异常处理方式:

  1.throws:抛出异常。(抛给上一级)谁调用我,我给谁。给老板说明。

    小王-->经理-->主管-->老板

  2.try catch进行异常捕捉。自己解决问题,别人不知道。

注意:如果异常一直上抛,将会终止java程序的执行。

9.注意:只要异常没有捕捉,采用上报的方式,此方法后续代码不执行

             try中某一行出现异常,其后续代码不执行

10.如果希望调用者处理使用throws,其它try-catch(编译时异常)

11.查看异常信息,从上往下看,自己的代码。

12.finally语句最后执行且一定执行,必须与try一同出现

13.自定义异常

    1.编写一个类继承Exception或RuntimeException

    2.提供两个构造方法一个是有参的,一个是无参的

14.压栈在实际中的应用

15.java为什么有些异常throw出去需要在函数头用throws声明,一些就不用?

可以简单地理解checked exception就是要强制你去处理这个异常(不管你throws多少层,你终归要在某个地方catch它)(必须要处理,怕你不返回,所以throws);而runtime exception则没有这个限制,你可以自由选择是否catch。

16.异常与方法覆盖?

 重写之后的方法不可以比重写之前的方法抛出更宽泛或更多的方法。

17.

 e.printStackTrace();//打印异常追踪的堆栈信息

e.getMessage();//获取异常简单的描述信息,实际是构造方法传进去的参数

明天学习什么?

明天计划学习javaObject类

posted @ 2020-08-01 19:40  好吗,好  阅读(91)  评论(0)    收藏  举报