当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

C语言异常处理和结构化异常处理有什么区别?

发表于: 2014-03-26   作者:aigo   来源:转载   浏览次数:
摘要: 原文:http://jsj.nhjsj.net/nh12/Cstudy/ShowArticle.asp?ArticleID=42 总的来说,结构化异常处理和异常处理之间的区别就是Microsoft对异常处理程序在实现上的不同。所谓的“普通”C++异常处理使用了三条附加的c++语句:try,catch和throw。这些语句的作用是,当正在执行的程序出现异常情况时,允许一个程序(异常处理程序)试着找

原文:http://jsj.nhjsj.net/nh12/Cstudy/ShowArticle.asp?ArticleID=42

总的来说,结构化异常处理和异常处理之间的区别就是Microsoft对异常处理程序在实现上的不同。所谓的“普通”C++异常处理使用了三条附加的c++语句:try,catch和throw。这些语句的作用是,当正在执行的程序出现异常情况时,允许一个程序(异常处理程序)试着找到该程序的一个安全出口。异常处理程序可以捕获任何数据类型上的异常情况,包括C++类。这三条语句的实现是以针对异常处理的ISO WG21/ANSI X3J16 C++标准为基础的,Microsoft C++支持基于这个标准的异常处理。注意,这个标准只适用于C++,而不适用于C。

结构化异常处理是Microsoft c/c++编译程序的一种功能扩充,它的最大好处就是它对C和C++都适用。Microsoft的结构化异常处理使用了两种新的结构:try—except和try-finally。这两种结构既不是ANSI c++标准的子集,也不是它的父集,而是异常处理的另一种实现(Microsoft会继续在这方面努力的)。try—except结构被称为异常处理(exception handling),tryfinally结构被称为终止处理(termination handling)。try—except语句允许应用程序检索发生异常情况时的机器状态,在向用户显示出错信息时,或者在调试程序时,它能带来很大的方便。在程序的正常执行被中断时,try—finally语句使应用程序能确保去执行清理程序。尽管结构化异常处理有它的优点,但它也有缺点——它不是一种ANSI标准,因此,与使用ANSI异常处理的程序相比,使用结构化异常处理的程序的可移植性要差一些。如果你想编写一个真正的C++应用程序,那么你最好使用ANSI异常处理(即使用try,catch和throw语句)。

C语言异常处理和结构化异常处理有什么区别?

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
一、什么是异常处理 一句话:异常处理就是处理程序中的错误。 二、为什么须要异常处理,以及异常处
try-catch和throw 函数嵌套调用的异常处理 c++异常传导的机制使得异常的发生和处理不必在同一函数中
try-catch和throw 函数嵌套调用的异常处理 c++异常传导的机制使得异常的发生和处理不必在同一函数中
原著:Matt Pietrek 翻译:VCKBASE 译注:本文都翻译了一大半了,才发现网上已经有一篇董岩的译本(
C是一门古老的、面向过程的语言,相对于它的运行高效率,其开发效率是较低的,所以长期以来,C就主
声明: 原创作品, 转载时请注明文章来自 SAP师太 技术博客( 博/客/园www.cnblogs.co
try 块和异常处理 在设计各种软件系统的过程中,处理程序中的错误和其他反常行为是困难的部分之一。
异常处理 认识异常 首先看下面的代码: class User { private String uname; private int age; publ
try 块和异常处理 在设计各种软件系统的过程中,处理程序中的错误和其他反常行为是困难的部分之一。
1.why——在程序出现问题后,在异常机制的辅助下软件可以继续运行。 2异常处理方式——try……catch
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号