C#的异常处理机制中try块和catch块都是必不可少的,finally块是可以省略的 这句话对不对?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 10:01:47
C#的异常处理机制中try块和catch块都是必不可少的,finally块是可以省略的 这句话对不对?

C#的异常处理机制中try块和catch块都是必不可少的,finally块是可以省略的 这句话对不对?
C#的异常处理机制中try块和catch块都是必不可少的,finally块是可以省略的 这句话对不对?

C#的异常处理机制中try块和catch块都是必不可少的,finally块是可以省略的 这句话对不对?

从C#的语法角度上讲是错误的... catch和finally至少声明其一就可以通过编译


不过实际业务处理中 try通常和catch匹配 这取决于具体的场合

因为finally是“一定”会执行的 如果你想跑完一段语句后 无论是否异常都执行下一段代码 则需要finally的支持 比如如下的伪代码:

var conn = new connection()
try {
  conn.open();
  conn.executeCommand(); //这里有可能会出现异常
}  finally {
  conn.close();
  conn.dispose();
}

这段语句执行时 如果中间发生异常 close和dispose依然会正确的执行 然后抛出异常 这就是隐藏了catch段

不过更好的书写方式通常是这样:

var conn = new connection()
try {
  conn.open();
  conn.executeCommand(); //这里有可能会出现异常
} catch (Exception) {
  throw;   //这里直接写throw  保持了异常出现原有的调用栈  这是区分throw ex;的写法
} finally {
  conn.close();
  conn.dispose();
}

即使不catch直接抛出 最好也要主动的声明出来 避免语义上的混淆并且增强代码可读性——后面的人可不知道你是不想catch还是忘记catch.


当然 如果你不需要finally这种特性  只要使用try catch就够了 也没有问题

C#的异常处理机制中try块和catch块都是必不可少的,finally块是可以省略的 这句话对不对? c#描述异常处理语句try、catch、finally执行时的相互关系 C#程序中,可使用try.catch机制来处理程序出现的()错误 A.语法 B.运行 C.逻辑 D.拼写 下列关于C#的异常处理的说法,错误的是 ( )选择二项)A.Try块必须跟catch块组合使用,不能单独使用B.一个try块可以跟随多个catch块C.使用throw语句既可引发系统异常,也可以引发由开发人员创建的 C#在try中包含throw交给哪个catch处理 c# throw的用法c#中throw到底是干什么用的,它是捕获异常,然后弹出异常对话框吗?像MessageBox.Show一样吗?它可以和try,catch连在一起使用吗?如下例:if (e.ClickedItem == print){i = 0;try{if (((Form2)ActiveMdiChild) c# try-catch 语句的含义和用法 若catch中抛出运行时异常,请问在try catch语句块中return语句是写在try中还是写在try catch语句外. 程序中有try-catch-finally结构,finally之后还有return,假如try中有异常,finally和return是如何执行的? 关于try catch语句的问题catch{throw;}这里的catch是捕获所有异常吧?“在 catch 块中可以使用 throw 语句再次引发已由 catch 语句捕获的异常”这句话是什么意思?为什么要再次引发呢?有什么用? 我刚刚学编程.请问C#中try...catch怎么用啊?catch后的参数是什么意思.程序中的不能正常执行的情况,用if...esle来编写处理模块不行吗? C#当中TRY-CATCH的用法,有人知道吗? 29.下列关于java的try-catch-finally语句的描述中,错误的是_______.A.try语句后面的程序段将给出处理异常的语句 B.catch()方法跟在try语句后面,它可以是一个或多个C.catch()方法有一个参数,该参数是某 c# try catch 用法try{con.open();return true;}catch{}finally{con.close();}我在finally中关闭数据连接,总是感觉很怪,程序在try块都执行return了,它还能关闭连接吗? 312. 在Java中,关于捕获异常的语法try-catch-finally的下列描述正确的是哪个项目?(选择2项)a. try-catch必须配对使用b. try可以单独使用c. try-finally可以配对使用 java try catch 处理:try catch 中间有for循环,循环时可能会catch到异常,但是我想一直循环下去java try catch 处理:try catch 中间有for循环,循环时可能会catch到异常,但是我想一直循buchu环下去,不做处理 C#异常 throw和throw e的区别 C++ try catch 的用法比如说两个数相除,除数不能为零,当除数为零时抛出异常,用代码要怎么实现,try和catch里分别要写些什么?