一、异常(就是指在java代码编写或运行中可能出现的问题:都继承与throwable这个类,异常有两种如下:)
1.编译异常:(编译异常是程序员在编写代码是必须解决的,不解决就会报错。):
在日期类的解析和格式化过程中就会遇到一个编译异常,这种异常是编译器能直接 检测出来的异常,那么程序员必须解决,否则程序就会报错。解决方式有三种,可以用try——catch 或者直接抛出个调用者。或者有来解决,解决方式就是以红色的字体,把错误的原因打印在控制台。抛出给调用者的方式如下:
第二种方式:用try——catch捕获异常
使用try——catch时需要注意的是:当catch中同时匹配多个异常时,且异常之间有父子关系时,那么父类异常必须在子类异常的后面。
2.当在try块中遇到异常时,此时try中异常以下代码将不会在执行,而是直接跳到catch中执行对应的异常。
2.运行时异常:(这个编译器检测不出来只有在运行时才会报错,这叫运行时异常,不强制程序员强制处理,一般由jvm自动处理,而且处理手段机极其暴力,直接把错误信息打印在控制台)
二。throw和thorws两个关键字的区别:
throws是放在方法申明处:可以一次性抛出多个异常给调用者,放在方法的申明处。
throw是放在方法体中,作用是用于抛出一个异常对象,且在方法体中,抛出异常对象以后,那么该方法中的异常以下的代码将不会在执行。
三。当子类重写父类方法时对抛出的异常:要么父类一致,要么为父类的子类型。
四:finally关键字中的代码块,不管有没有遇到异常的,都要执行finally中代码,一般用于关闭资源。