Try Catch Finally探究

1. try、catch、finally语句中,在如果try语句有return语句,则返回的是当前try中变量此时对应的值,此后对变量做任何的修改,都不影响try中return的返回值

public static int TryCatch(int i)
{
int temp = ;
try
{
temp = i;
return temp;
}
catch (Exception e)
{
return ;
}
finally
{
temp=;
}
}
/*返回值为10*/

2 如果finally块中有return 语句,则返回try或catch中的返回语句就会被忽略,并且会忽悠掉try和catch里面抛出的异常。

public static int TryCatch(int i)
{
int temp = ;
try
{
temp = i;
if(i==)
{
throw new ArithmeticException();
}
return temp;
}
catch (Exception e)
{
return ;
}
finally
{
temp=;
return temp;
}
}
/*返回值为20*/

3 如果finally块中抛出异常,则整个try、catch、finally块中抛出异常。

使用try、catch、finally语句块中需要注意的是:

1 尽量在try或者catch中使用return语句。通过finally块中达到对try或者catch返回值修改是不可行的。
2 finally块中避免使用return语句,因为finally块中如果使用return语句,会显示的消化掉try、catch块中的异常信息,屏蔽了错误的发生,并且会把try里面的返回值消化掉。
3 finally块中避免再次抛出异常,否则整个包含try语句块的方法会抛出异常,并且会消化掉try、catch块中的异常。

Try Catch Finally总结的更多相关文章

  1. SQLServer如何添加try catch

    在.net中我们经常用到try catch.不过在sqlserver中我们也可以使用try catch捕捉错误,在这里把语法记录下来和大家分享一下, --构建存储过程CREATE PROCEDURE ...

  2. try...catch..finally

    try..catch..finally try{ 代码块1 }catch(Exception e){ 代码块2 }finally{ 代码块3 } catch是抓取代码块1中的异常 代码块2是出异常后的 ...

  3. C++异常处理:try,catch,throw,finally的用法

    写在前面 所谓异常处理,即让一个程序运行时遇到自己无法处理的错误时抛出一个异常,希望调用者可以发现处理问题. 异常处理的基本思想是简化程序的错误代码,为程序键壮性提供一个标准检测机制. 也许我们已经使 ...

  4. POJ 3278 Catch That Cow(bfs)

    传送门 Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 80273   Accepted: 25 ...

  5. [c#基础]关于try...catch最常见的笔试题

    引言 在翻看之前总结的常见面试题中,关于try...catch异常处理的还是蛮多了,今天看到这个面试题,也就重新学习一下. try..catch语法 try-catch语句由一个try块后跟一个或多个 ...

  6. 高程(4):执行环境、作用域、上下文执行过程、垃圾收集、try...catch...

    高程三 4.2.4.3 一.执行环境 1.全局执行环境是最外层的执行环境. 2.每个函数都有自己的执行环境,执行函数时,函数环境就会被推入一个当前环境栈中,执行完毕,栈将其环境弹出,把控制器返回给之前 ...

  7. try catch里面try catch嵌套

    try catch里能否内嵌try catch?答案是肯定的.但是等内层try catch出异常之后是个什么执行顺序呢?看下面代码 static void Main(string[] args) { ...

  8. 基础知识《十》java 异常捕捉 ( try catch finally ) 你真的掌握了吗?

    本文转载自  java 异常捕捉 ( try catch finally ) 你真的掌握了吗? 前言:java 中的异常处理机制你真的理解了吗?掌握了吗?catch 体里遇到 return 是怎么处理 ...

  9. java try(){}catch(){}自动资源释放

    从 Java 7 build 105 版本开始,Java 7 的编译器和运行环境支持新的 try-with-resources 语句,称为 ARM 块(Automatic Resource Manag ...

  10. Java throws Exception、try、catch

    throws Exception是方法后面接的 意思是向上级抛出异常 try{}里面的异常会被外面的catch捕捉到 抛出异常是throw new Exception("异常"); ...

随机推荐

  1. CSS矩形盒子的四个边界

    CSS下这些矩形盒子由标准盒模型描述.这个模型描述元素内容占用空间.盒子有四个边界:外边距边界margin edge, 边框边界border edge, 内边距边界padding edge 与 内容边 ...

  2. 编写第一个python selenium-webdriver程序(二)

    上节介绍了如何搭建selenium 系统环境,那么本节来讲一下如何开始编写第一个自动化测试脚本. Selenium2.x 将浏览器原生的API封装成WebDriver API,可以直接操作浏览器页面里 ...

  3. java 同步代码块与同步方法

    同步代码块 synchronized (obj) { // 代码块 } obj 为同步监视器,以上代码的含义为:线程开始执行同步代码块(中的代码)之前,必须先获得对同步监视器的锁定. 代码块中的代码是 ...

  4. Hadoop HDFS DataNode 目录结构

    DataNode 目录结构 和namenode不同的是,datanode的存储目录是初始阶段自动创建的,不需要额外格式化. 1.    在/opt/module/hadoop-2.7.2/data/t ...

  5. 自然语言处理工具HanLP被收录中国大数据产业发展的创新技术新书《数据之翼》

    在12月20日由中国电子信息产业发展研究院主办的2018中国软件大会上,大快搜索获评“2018中国大数据基础软件领域领军企业”,并成功入选中国数字化转型TOP100服务商. 图:大快搜索获评“2018 ...

  6. elasticsearch UNASSIGNED 处理

    PUT /_settings HTTP/1.1 Host: 192.168.1.12:9200 Cache-Control: no-cache Postman-Token: 1befb0fb-6492 ...

  7. 信号滤波模块verilog代码---UNLOCK,LOCK状态机方式

    信号滤波模块verilog代码 `timescale 1ns / 1ps /////////////////////////////////////////////////////////////// ...

  8. 阅读DMA Controller Core 官方手册

    阅读DMA Controller Core 官方手册 DMA控制器框架图 怎样去设定一个DMA控制器 实例化DMA控制器 参数配置界面如下图所示: 对于width of the DMA length ...

  9. PHP-不同Str 拼接方法性能对比

    问题 在PHP中,有多种字符串拼接的方式可供选择,共有: 1 . , .= , sprintf, vprintf, join, implode 那么,那种才是最快的,或者那种才是最适合业务使用的,需要 ...

  10. SSH的配置文件

    Hibernate: xxx.hbm.xml   ,作用:类的属性和表的列建立映射关系,主键策略,多表查询等 hibernate.cfg.xml ,核心配置文件,数据库配置信息,加载xxx.hbm.x ...