个人记事,留下点滴
生活
生活

sublime text 3 中文支持

刚刚安装了Sublime Text 3,发现对中文支持不是太好,全乱码,于是上网查找一下解决方法:
有些不能用,最终总结如下:
1.安装Package Control
通俗易懂地说,这个是你在完成安装SublimeText后必须安装的东西。你问为什么?因为有了这个特殊的“插件包”,你可以很容易地安装、升级、删除,甚至非常方便地查看您已经安装在SublimeText中的包或插件的列表。它通过菜单和对应的行为使这些过程变得非常容易和有组织。

在Sublime Text 3上用Ctrl+~打开控制台并在里面输入以下代码,

import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

2.重启Sublime Text 3
3.然后使用Ctrl+Shift+P打开命令行模式,在里面输入Install Package即可搜索需要的Package。

4.一般使用“ConvertToUTF8”和“GBK Encoding Support”即可正常读取和写入CJK格式的文件了。

关于return一点经验

[codee]public class Ex1 {

public static void main(String[] args) {
    try{
    System.out.println(Ex1.getResult());
    }catch(Exception e){
        e.printStackTrace();
        System.out.println("截获异常catch");
    }finally{
        System.out.println("异常处理finally");
    }
}

public static int getResult() throws Exception{
    int a =100;

    try{

        a=a+10; 
        throw new RuntimeException();
    }catch(Exception e){
        System.out.println("截获异常并重新抛出异常");
        throw new Exception();            
    }finally{
        return a;
    }
}

}[/codee]
输出如下:

截获异常并重新抛出异常
110
异常处理finally

关键的“截获异常catch”却没有执行!!!

原因是在getResult()的finally中return一个值,等同于告诉编译器该方法没有异常,但实际上异常是有的,这样的结果是该方法的调用者却捕获不到异常,相对于异常被无端的被吃掉了,隐藏杀机啊!!

结论:不要再finally中试图return一个值,这样可能会导致一些意想不到的逻辑错误,finally就是用来释放资源的!!