如何避免使用try catch语句块,及性能分析

那mina中的一个例子为例:

@Override
    public void filterWrite(NextFilter nextFilter, IoSession session,
            WriteRequest writeRequest) throws Exception {

        Object data = writeRequest.getMessage();

        if (data instanceof IoBuffer) {
            write(session, (IoBuffer) data);
        } else {
            throw new IllegalArgumentException(
                    "This filter should only buffer IoBuffer objects");
        }
//        按照的平时的方案。
//        try {
//            IoBuffer data = (IoBuffer) writeRequest.getMessage();
//            write(session, data);
//        } catch (ClassCastException e) {
//            throw new IllegalArgumentException(
//                    "This filter should only buffer IoBuffer objects");
//        }
    }


 

private void write(IoSession session, IoBuffer data) {
        IoBuffer dest = buffersMap.putIfAbsent(session,
                new IoBufferLazyInitializer(bufferSize));

        write(session, data, dest);
    }

 

 

更多。参见参见http://www.blogjava.net/stone2083/archive/2010/07/09/325649.html


 

你可能感兴趣的:(如何避免使用try catch语句块,及性能分析)