C语言异常处理

2021-03-05 17:27

阅读:471

标签:对比   src   har   异常情况   技术   产生   运算   exce   异常处理   

异常的概念
-程序在运行过程中可能产生异常
-异常(Exception)与Bug的区别
  异常是程序运行时可预料的执行分支
  Bug是程序中的错误,是不被预期的运行方式

异常(Exception)和Bug的对比
-异常
  运行时产生除0的情况
  需要打开的外部文件不存在
  数组访问时越界
-Bug
  使用野指针
  堆数组使用结束后未释放
  选择排序无法处理长度为0的数组

C语言经典处理方式:if ...else ...
void func(...)
{
  if(判断是否产生异常)
  {
    正常情况代码逻辑;
  }
  else
  {
    异常情况代码逻辑;
  }
}

技术图片
#include 
#include 

using namespace std;

double divide(double a, double b, int* valid)
{
    const double delta = 0.000000000000001;
    double ret = 0;
    
    if( !((-delta 
技术图片

缺陷
-divide函数有3个参数,难以理解其用法
-divide函数调用后必须判断valid代表的结果
  当valid为true时,运算结果正常
  当valid为false时,运算过程出现异常

C语言异常处理

标签:对比   src   har   异常情况   技术   产生   运算   exce   异常处理   

原文地址:https://www.cnblogs.com/bruce1992/p/14322260.html


评论


亲,登录后才可以留言!