第五天 异常处理与日志
在销售业务中,有一个很重要的模块是售后模块,负责客户的不良品处理,纠纷处理,产品维修等等。同样的,在电商代码中,也有一个重要的模块就是异常的处理和日志模块,负责代码的异常信息反馈和预防,为系统的稳定运行保驾护航。
JAVA异常的处理流程
当程序发生异常时,jvm会实例化异常对象信息,然后判断该异常是否被try包裹,如果未包裹,JVM直接抛出异常信息,该段代码结束执行。如果被try包裹,进入try catch流程,catch执行完之后判断是否有finally,如果有finally,进入finally流程。try catch finally执行完之后。如果finally未出现异常,将继续执行代码。
try catch finally 流程中,如果finally里定义了return,那么无论try代码中的return了什么内容,都会被finally的return覆盖,所以finally中不要return。
try with resource
在JDK7中加入了一种新的try with resource结构,用于应对io流打开关闭的场景,方便的处理了io关闭的很多麻烦。
代码示例如下:
try(FileInputStream fin = new FileInputStream(new File("filePath"));
FileOutputStream fout = new FileOutputStream(new File("filePath1"));
GZIPOutputStream out = new GZIPOutputStream(fout)