首页 > 试题广场 >

在异常处理中,如释放资源,关闭数据库、关闭文件应由(

[单选题]
在异常处理中,如释放资源,关闭数据库、关闭文件应由( )语句来完成。
  • try子句
  • catch子句
  • finally子句
  • throw子句
推荐
C。finally子句一般是用来清理这些资源的。
编辑于 2015-02-06 12:00:18 回复(0)
Kjl头像 Kjl
  • try:可能发生异常的语句
  • catch:捕获,并处理异常(printStackTrace()用来跟踪异常事件发生时执行堆栈的内容)
  • throw:方法内部抛异常
  • throws:声明方法异常
  • finaly:代码中无论是否有异常都会执行,清除资源
发表于 2016-11-12 17:20:03 回复(2)
C。finally子句一般是用来清理这些资源的。
发表于 2014-10-14 17:17:50 回复(0)
try-finally语句是Microsoft对C和C++语言的扩展,它能使32位的目标程序在异常出现时,有效保证一些资源能够被及时清除,这些资源的清除任务可以包括例如内存的释放,文件的关闭,文件句柄的释放等等。
Q: 为何C++不提供“finally”结构?
A: 因为C++提供了另一种机制,完全可以取代finally,而且这种机制几乎总要比finally工作得更好:就是——“分配资源即初始化”。(见《The C++ Programming Language》14.4节)基本的想法是,用一个 局部对象来封装一个资源,这样一来局部对象的析构函数 就可以自动释放资源。这样,程序员就不会“忘记释放资源”了。 [译注:因为C++的对象“生命周期”机制替他记住了 :O) ]
发表于 2015-07-29 23:23:30 回复(4)
finally语句块中的语句一般情况下总是会执行的,除非在try语句块或catch语句块中执行到System.exit(0)来直接退出程序。
发表于 2015-09-25 21:49:01 回复(0)
finally是不管有没有捕捉到异常都会执行的,所以为了安全起见,一般都会在finally进行善后的操作,清理资源,关闭文件等。
发表于 2021-12-21 16:57:11 回复(0)
  • try:可能发生异常的语句
  • catch:捕获,并处理异常(printStackTrace()用来跟踪异常事件发生时执行堆栈的内容)
  • throw:方法内部抛异常
  • throws:声明方法异常
  • finaly:代码中无论是否有异常都会执行,清除资源
发表于 2021-08-24 20:50:18 回复(0)
做这道题的时候就想着Java7中try-with-resource自动释放资源所以就选了A,但细想一下还是应该选C
发表于 2019-10-07 23:11:01 回复(0)
finally语句是发生错误或异常后,一定要执行的操作,所以题中应该由finally语句执行

发表于 2017-03-18 17:37:12 回复(0)
finally一定会执行,所以用来关闭资源
发表于 2022-08-21 11:24:13 回复(0)
<p>好像在1.8使用try-with-source就不用手动关流了。🤯</p>
发表于 2020-12-20 11:02:50 回复(1)
C
解析:
A.try用来执行正常的程序,该程序可能发生异常。
B.catch捕捉try代码块中的异常,并进行处理操作。
C.finally无论如果最终都将执行的代码,一般用来关闭资源的消耗。
D.throw在方法体重抛出异常对象。
发表于 2020-07-21 16:13:24 回复(0)
你要这样想,如果catch指定的类型不对呢?是不是
这时候就必须要用finally处理了,我如果设计机制,肯定这样设计来减少
负担。

发表于 2017-11-16 20:37:35 回复(0)
try:可能发生异常的语句 catch:捕获,并处理异常(printStackTrace()用来跟踪异常事件发生时执行堆栈的内容) throw:方法内部抛异常 throws:声明方法异常 finaly:代码中无论是否有异常都会执行,清除资源
发表于 2022-10-22 11:44:06 回复(0)
finally子句一般是用来清理这些资源的。
发表于 2021-11-04 16:04:04 回复(0)
C++標準哪來的finally? 使用RAII。看到這題我還以為題目出錯了,即使微軟有支援finally,養成好習慣別用。異常要在catch裡面處理,資源釋放是另一件事,題目寫在一起很奇怪。
发表于 2021-02-21 05:06:59 回复(0)
C++没有 finally
发表于 2020-05-30 01:07:11 回复(0)
<p>Finally 最后一定会执行</p>
发表于 2020-05-21 21:40:23 回复(0)
finally在return之前执行 catch捕捉异常
发表于 2020-02-03 20:21:38 回复(0)
try:可能发生异常的语句 catch:捕获,并处理异常(printStackTrace()用来跟踪异常事件发生时执行堆栈的内容) throw:方法内部抛异常 throws:声明方法异常 finally:代码中无论是否有异常都会执行,清除资源
发表于 2019-10-30 23:45:28 回复(0)
  • try:可能发生异常的语句
  • catch:捕获,并处理异常(printStackTrace()用来跟踪异常事件发生时执行堆栈的内容)
  • throw:方法内部抛异常
  • throws:声明方法异常
  • finaly:代码中无论是否有异常都会执行,清除资源
发表于 2019-07-19 18:55:46 回复(0)