美文网首页
python中的with异常处理与JAVA中类似的比较

python中的with异常处理与JAVA中类似的比较

作者: 丧尸百合兽 | 来源:发表于2018-01-05 19:32 被阅读0次

一般情况下python的异常处理是用try ... except ... finally来处理的,例如打开一个文件

f = open(filename)
try:
    ''' do something '''
except IOError:
    print('I/O error')
finally:
    f.close()

这么做的缺点是非常麻烦,特别是如果里面有嵌套的try ... except的语句的话就等着加游标卡尺吧。所以说python提供了with关键词来解决这个问题,以上的代码可以变成:

with open(filename) as f:
    ''' do something'''

变成一句了,是不是觉得变得简单了?
而且还可以处理多个:

with open(file1) as f1, open(file2) as f2:
   ''' do something'''

不过使用with会直接将错误抛出,目前还没有找到在with里特殊处理错误的方法。

同样,JAVA7往后的版本也提供了类似的东西:

InputStream i = getStream()
try {
  // do something
} catch(Exception e) {
  e.printStack();
} finally {
  try {
    i.close();
  } catch(Exception e) {
    e.printStack();
  }
}

变成

try(IntpuStream i = getStream()) {
  // do something
} catch(Exception e) {
  e.printStack();
}

相关文章

  • python中的with异常处理与JAVA中类似的比较

    一般情况下python的异常处理是用try ... except ... finally来处理的,例如打开一个文件...

  • Python学习(八)

    异常处理 Python中的异常类型总结: Python内置异常类的层次结构: 异常检测 try-except语句 ...

  • 异常

    异常机制 处理程序运行过程中的异常 异常类 java中有许多异常类,例如NullPointException,Ar...

  • Exception与Error

    Java 异常处理 Java 中的异常分为 Exception , Error 两类,他们共同继承 Throwab...

  • RabbitMQ笔记二十四:RabbitMQ异常处理

    异常处理 RabbitMQ java client中的异常处理 消费消息,在消费消息的时候抛出异常, 消费启动类:...

  • Java SE 5

    Java SE 1.Java异常处理机制 Java异常结构中定义有Throwable类,Exception和Err...

  • 阿里规约异常和日志

    异常日志 (一) 异常处理 【强制】Java 类库中定义的一类 RuntimeException 可以通过预先检查...

  • Java SE核心II

    1.1.1 Java异常处理机制 异常结构中的父类Throwable类,其下子类Exceptionlei类和Err...

  • 04- JAVA异常

    在JAVA中异常就是一个类,产生异常就是创建异常对象并抛出一个异常对象。JAVA处理异常的方式是中断处理。参考:j...

  • 异常使用规范

    (一) 异常处理 【强制】不要捕获 Java 类库中定义的继承自 RuntimeException 的运行时异常类...

网友评论

      本文标题:python中的with异常处理与JAVA中类似的比较

      本文链接:https://www.haomeiwen.com/subject/tdisnxtx.html