博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Effective java 系列之异常转译
阅读量:4683 次
发布时间:2019-06-09

本文共 1071 字,大约阅读时间需要 3 分钟。

异常转译:当位于最上层的子系统不需要关心底层的异常细节时,常见的作法时捕获原始异常,把它转换一个新的不同类型的异常,在将新异常抛出。

通常方法捕获底层异常,然后抛高层异常。

public static long write2File(String dataStr, String filePath) {        long fileSize = 0L;        try (                RandomAccessFile raf = new RandomAccessFile(createFileAbsolute(filePath), "rw");                FileChannel fchannel = raf.getChannel()        ) {            ByteBuffer buf = ByteBuffer.allocate(1024);            buf.clear();            buf.put(dataStr.getBytes());            buf.flip();            while (buf.hasRemaining()) {                fchannel.write(buf);            }            fileSize = fchannel.size();        } catch (FileNotFoundException e) {            //e.printStackTrace();            logger.error("",e);            throw new RuntimeException("File not found");        } catch (IOException e) {            //e.printStackTrace();            logger.error("",e);            throw new RuntimeException("File not found");        }        return fileSize;    }

然后调用方法去捕获RunTimeException,处理异常。

 

转载于:https://www.cnblogs.com/xiaozhuanfeng/p/10731602.html

你可能感兴趣的文章
Jquery使用小结
查看>>
Java动态代理
查看>>
堆和栈的差别(转过无数次的文章)
查看>>
STL之Map的运用
查看>>
Linux常用命令
查看>>
JAVA多线程Thread VS Runnable详解
查看>>
springboot分布式数据源(Mysql)
查看>>
python安装numpy模块
查看>>
Lambda
查看>>
Java对byte数组压缩 解压缩 (zip,gzip,bzip2,jzlib)
查看>>
UDP用户数据报协议
查看>>
无聊到什么都不想做,只想写篇博客...
查看>>
Node实现websocket聊天室
查看>>
一天搞定CSS: 浮动(float)及文档流--10
查看>>
MSSQL游标和Fetch
查看>>
FFT最新卡常研究
查看>>
linux字符集的查看及修改
查看>>
php函数serialize()与unserialize()
查看>>
java时间操作三部曲之java.util.Calendar
查看>>
4_Selenium框架封装
查看>>