抛出异常不会终止程序:

以下为测试代码:

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace UnitTestPDAService
{
    [TestClass]
    public class UnitTest2
    {
        [TestMethod]
        public void TestMethod1()
        {
            string error = "";
            string str=string.Empty;
            for (int i = 0; i < 5; i++)
            {
                try
                {
                    if (i / 2 == 0)
                    {
                        bool flag = str.Contains("test");
                    }
                    else
                    {
                        throw new Exception(string.Format("{0}抛出异常", i));
                    }
                }
                catch (Exception ex)
                {
                    error += ex.Message;
                }
            }
            Console.Write(error);
            Console.Write("执行到此");

            for (int i = 0; i < 8; i++)
            {
                Console.WriteLine(i);
            }
            Console.ReadKey();
        }
    }
}

程序捕获异常后会继续执行异常之后的程序!

时间: 2024-10-07 06:39:20

抛出异常不会终止程序:的相关文章

1. Server.Transfer跳转页面抛出异常:正在终止线程

今天在向数据库插入数据,之后使用Server.Transfer跳回本页面时,抛出异常:正在终止线程 ry { if (0 == String.Compare(Password.Text.Trim(), ConfirmPassword.Text.Trim()))//两次输入密码相同 { MembershipUser mu = Membership.CreateUser(UserName.Text, Password.Text);//添加注册用户 Roles.AddUserToRole(UserNa

js如何终止程序

function a(){ b(); //在这里加一段代码,让整个js程序结束 //window.close();这将关闭页面 //throw 抛出一个错误,这将导致错误终止程序执行. //die; 不成功 //jfslk;不成功 //break; 错误语句} function b(){ alert("abc"); } a(); alert("def");

终止程序并给出错误信息

# 直接使用SystemExit即可 print(123) raise SystemExit("exit") # 这句话就类似于函数中的return 下面的代码是不会执行的 print(456) ''' 123 exit ''' import sys print(123) sys.stderr.write("exit\n") print(456) ''' 123 456 exit ''' # 可以看到sys.stderr.write永远最后执行 原文地址:https

Python开发基础-Day23try异常处理、socket套接字基础1

异常处理 错误 程序里的错误一般分为两种: 1.语法错误,这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 2.逻辑错误,人为造成的错误,如数据类型错误.调用方法错误等,这些解释器是不会进行检测的,只有在执行的过程中才能抛出的错误 异常 异常是python解释器在运行程序的过程中遇到错误所抛出的信息,如: Python异常种类: 常用异常: 1 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x 2 IOError 输入/输出异

【转】C++ 内存分配(new,operator new)详解

本文主要讲述C++ new运算符和operator new, placement new之间的种种关联,new的底层实现,以及operator new的重载和一些在内存池,STL中的应用. 一 new运算符和operator new(): new:指我们在C++里通常用到的运算符,比如A* a = new A;  对于new来说,有new和::new之分,前者位于std operator new():指对new的重载形式,它是一个函数,并不是运算符.对于operator new来说,分为全局重载

C++异常安全

异常安全的代码是指,满足两个条件 1异常中立性 : 是指当你的代码(包括你调用的代码)引发异常时,这个异常 能保持原样传递到外层调用代码.(异常中立,就是指任何底层的异常都会抛出到上层,也就相当于是异常透明的.) 2.异常安全性: 抛出异常后,资源不泄露, 抛出异常后,不会使原有数据恶化(例如正常指针变野指针) 少些try catch,因为大量的try catch会影响代码逻辑.导致代码丑陋混乱不优雅 一段代码要具有异常安全性,必须同时具有异常中立性和一定等级的异常安全性保证 异常安全的等级一般

如何使用Coded UI Test对Webpage进行自动化测试

在Visual Studio中,Coded UI Test已经不是什么新特性了,较早版本的Visual Studio中就已经有这个东东了.它主要用来帮助自动化测试工程师和开发人员确保程序在UI方面没有任何问题.这其中包含了丰富的内容.在这之前,我一直对自动化测试的工作以及什么是自动化测试一知半解,具备自动化测试编码能力的工程师所掌握的技能在某种程度上要远超程序开发人员和设计人员,对于这一点,我早有耳闻!但直到亲身体验我才确信,测试工作远没有我们想象得那么简单.开发人员或许花上数小时就可以完成项目

《如何写代码 —— 编程内功心法》读后感

原文链接:https://www.bughui.com/2017/08/21/how-to-write-code/ 核心: 命名  --  有名,万物之始 注释 -- javaDoc,参考jdk注释,包括用途.参数.exception说明,方便调用,一目了然 异常处理 -- 当函数无法完成其宣称的任务的时候抛出异常! 宁愿终止程序也不要带错运行下去. 日志 --  日志框架.分级输出 输出有效信息. 上下文信息 不要输出敏感信息. 参数校验 -- 外部调用(前端 or API接口) 自省: 命名

Python开发基础----异常处理、socket套接字基础1

异常处理 错误 程序里的错误一般分为两种: 1.语法错误,这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 2.逻辑错误,人为造成的错误,如数据类型错误.调用方法错误等,这些解释器是不会进行检测的,只有在执行的过程中才能抛出的错误 异常 异常是python解释器在运行程序的过程中遇到错误所抛出的信息,如: Python异常种类: 常用异常: 1 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x 2 IOError 输入/输出异