try catch 学习记入
执行过程
public void method(Action action)
{
//2.method执行中
try
{
action(); //3.调用委托
string x = ""; //如果action执行时出现了error,但是内部有catch机制并且没有继续throw出来,那么这里"会"执行
}
catch (Exception ex)
{
//8.捕获error
string x = ex.Message; //如果action执行时出现了error,但是内部有catch机制并且没有继续throw出来,那么这里"不会"执行
}
}
protected void Page_Load(object sender, EventArgs e)
{
try
{
//1.调用method函数,并且传入委托
method(delegate()
{
//4.执行委托函数
try
{
throw new Exception("x"); //5.error 出现
}
catch (Exception ex)
{
string x = ex.Message; //6.捕获error
throw ex; //7.把error传递下去 (如果没有把error传递,那么外部的catch就不会触发了)
}
});
string xyx = "z"; //9.因为method函数中的catch没有在throw所以会执行这里
}
catch (Exception ex)
{
string x = ex.Message;
}
finally
{
//10 finally 一定会执行!
}
}
重点 catch有没有继续throw, finally一定会执行
自定义catch
只要一个类继承了System.Exception 它就可以作为一个catch , 可以被throw
一个try 可以有多个 catch(不同的Class处理)
简单的说 throw new someClass 就是丢一个对象,new someClass()可以像普通的实例化一样,写一些初始化等等。
catch 捕获到的就是这个对象,就是一般的对象咯,一样可以调用属性或者方法等等。
public class MyEx : System.Exception
{
public MyEx() : base() { }
public MyEx(string message, Exception innerException) : base(message, innerException) { }
public MyEx(Int64 number) //初始化
{
this.number = number;
}
public Int64 number { get; set; }
} protected void Page_Load(object sender, EventArgs e)
{
try
{
throw new MyEx();
}
catch (MyEx ex)
{
Int64 z = ex.number; //调用公有属性
}
catch (Exception ex)
{
string x = ex.Message;
}
finally
{
//10 finally 一定会执行!
}
}
try catch 学习记入的更多相关文章
- MySQL用source命令导入不记入binlog中【原创】
试验环境,MySQL主主复制 主库10.72.16.112 从库10.72.16.50 一直有个疑问,利用sql_log_bin=0可以临时在客户端停止将操作记入binlog中,如果使用source命 ...
- Linux History安全问题【保存记录防止删除】+完善Linux/UNIX审计 将每个shell命令记入日志
2011-09-27 22:11:51| 分类: rhel5_033|举报|字号 订阅 Linux利用PROMPT_COMMAND实现审计功能 这个系统审计,记录什么用户,在什么时间,做 ...
- 洛谷 P3387 【模板】缩点 DAGdp学习记
我们以洛谷P3387 [模板]缩点 来学习DAGdp 1.这道题的流程 //伪代码 for i->n if(i未被遍历) tarjan(i) 缩点() DAGdp() 完成 首先tarjan这部 ...
- MMM 数位dp学习记
数位dp学习记 by scmmm 开始日期 2019/7/17 前言 状压dp感觉很好理解(本质接近于爆搜但是又有广搜的感觉),综合了dp的高效性(至少比dfs,bfs优),又能解决普通dp难搞定的问 ...
- MMM 状压dp学习记
状压dp学习记 by scmmm 开始日期 2019/7/17 前言 状压dp感觉很好理解(本质接近于爆搜但是又有广搜的感觉),综合了dp的高效性(至少比dfs,bfs优),又能解决普通dp难搞定的问 ...
- 【ABAP系列】SAP 读取生产订单 记入文档的货物移动明细
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP 读取生产订单 记入文档的 ...
- php自定义错误处理和try{}catch(){}学习
<?php //语法错误 //运行时的错误 //逻辑错误 //php的错误报告级别 // display_errors; // ini_set("display_errors" ...
- AspectJ的拓展学习--织入顺序和通知参数指定
前言: 其实spring的aop非常的强大, 因此研究一下AspectJ还是有必要, 而不是仅仅停留在初级的阶段. 比如spring的事务是基于aop来实现的, 如果不能深入的研究, 可能很多知识点, ...
- Kubernetes探索学习004--深入Kubernetes的Pod
深入研究学习Pod 首先需要认识到Pod才是Kubernetes项目中最小的编排单位原子单位,凡是涉及到调度,网络,存储层面的,基本上都是Pod级别的!官方是用这样的语言来描述的: A Pod is ...
随机推荐
- 《鸟哥Linux私房菜基础学习篇》命令索引
在学习的过程,由于很多命令平时都用不着,因此做这个索引方便需要时查找.这包括了前两部分.主要是按页码顺序. P118 date:显示日期与时间 cal:显示日历 bc:计算器 P121 [Tab]:命 ...
- config large memory
C Configuring Large Memory Optimization This appendix provides information for configuring memory op ...
- Oracle V$SESSION
SADDR session address SID session identifier 常用于链接其他列 SERIAL# SID有可能会重复,当两个session的SID重复时,SERIAL#用来区 ...
- Android 自定义View (三) 圆环交替 等待效果
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/24500107 一个朋友今天有这么个需求(下图),我觉得那自定义View来做还是很 ...
- Android应用程序之间共享文字和图片(一)
以下为TestReceiveShare1工程 MainActivity如下: package cn.testreceiveshare1; import java.util.ArrayList; imp ...
- JSP九个隐式对象及作用域
out:JspWriter实例对象,作用域为page(页面执行期) 向客户端输出内容 request:HttpServletRequest实例对象,作用域为request(用户请求期) 请求信息 re ...
- MM32初识(兼容STM32)
MM32初识(兼容STM32) 资源与开发环境 keil 5.0 MM32 miniboard 提要 stm32入门(MM32兼容) 点亮LED思路简介 GPIO配置 stm32寄存器理解与操作步骤 ...
- wpf的学习日志(一)
今天开始学习wpf,从xaml的布局开始 stackpanel布局:Orientation决定布局的横向还是纵向,HorizontalAlignment决定布局的对齐 <StackPanel O ...
- c# 字符串编码问题
一. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte). ...
- VS快速定位文件、代码插件——DPack
之前用Myeclipse开发一个Java项目,发现其中“Open Resource”(Ctrl+Shirft+R)的功能比较好用,回到.Net后就找了找VS相应的功能,试了几个后觉得Dpack比较好用 ...