java笔记(IO流)

一、异常:Throwable

                严重问题:Error    我们不处理,这种问题一般很严重,比如内存溢出

                问题:Exception

                    编译期问题:不是RuntimeException异常    必须进行处理,因为你不处理编译就不能通过

                    运行期问题:RuntimeException    可以不处理,这个问题出现是代码不够严谨,需要修正

                注意事项:能明确的尽量明确,不要用大的来处理

                                 平级关系的异常谁先谁后无所谓,如果有父子关系,父必须在后

    

                在try里面发现问题后,jvm会帮我们生成一个异常对象,然后把这个对象抛出,和catch里面的类进行匹配


                异常中的方法:    

                                   A、getMessage(),返回异常信息字符串

                     B、toString()返回异常的简单信息描述:此对象的类的name(全路径):调用此对象getLocalizedMessage()方法(默认返回getMessage()内容)的结果

                                    C、printStackTrace()获取异常类名和信息,以及异常的位置,返回值void,并把信息输出;

                throws处理:格式:throws 异常类名                  注意:必须跟在方法的括号后面

                throw处理:如果出现了异常情况,我们可以把该异常抛出,这个时候的抛出应该是异常的对象


                *****throws和throw:

                            throws用在方法声明后面,跟的是异常类名,可以跟多个异常类名,表示由调用者处理,这些异常不一定发生

                            throw用在方法体内,跟的是异常对象名,抛出异常对象,由方法体内的语句处理

                finally:

                        特点:一定会执行

                1、finally、final、finalize的区别

                finally:一般来说代码肯定会执行,除非jvm退出

                final:最终的意思,修饰类则不能被继承,修饰变量则为常量,修饰方法不能被重写

                finalize:Object类的一个方法,用于垃圾回收

                2、如果catch里面有return语句,finally里面代码还会执行吗?

                        会执行,在return前执行;

                注意事项:

                        子类重写父类方法是,子类的方法必须抛出相同的异常或者父类异常的子类;总之子类不能抛出父类没有的异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值