spice client 异常处理

4.exception
  两种异常:一种是语法错误,即程序中出现了错误的语句,函数,结构和类,致使编译程序无法进 

  行。另一种是运行时发生的错误,一般与算法有关.

  异常的抛出和处理主要使用了以下三个关键字: try、 throw 、 catch 
  
  如果在try语句块的程序段中(包括在其中调用的函数)发现了异常,且抛弃了该异常,则这个异  
常就可以被try语句块后的某个catch语句所捕获并处理,捕获和处理的条件是被抛弃的异常的类型  
与catch语句的异常类型相匹配。由于C++使用数据类型来区分不同的异常,因此在判断异常时,  
throw语句中的表达式的值就没有实际意义,而表达式的类型就特别重要。

  函数的接口
  void fun() throw( A,B,C,D);这表明函数fun()可能并且只可能抛出类型(A,B,C,D)及其子类型的  

  异常
  void fun(); 可以抛出任何类型的异常
  void fun() thow(); 不能抛出任何类型的异常
 
  try 
  {  
        包含可能抛出异常的语句;  
  }  
  catch(类型名 [形参名]) // 捕获特定类型的异常  
  {  
 
  }  
  catch(类型名 [形参名]) // 捕获特定类型的异常  
  {  
 
  }  
  catch(...)    // 三个点则表示捕获所有类型的异常  
  {  

  } 

5.

#include <stdarg.h>
  int vsnprintf(char *str, size_t size,  const  char  *format,  va_list ap);
参数说明:
  1. char *str [out],把生成的格式化的字符串存放在这里.
  2. size_t size [in], buffer可接受的最大字节数,防止产生 数组越界.
  3. const char *format [in], 指定输出格式的字符串,它决定了你需要提供的可变参数的类型、个数和顺序。
  4. va_list  ap [in], va_list 变量. va:variable-argument:可变参数
函数功能:将可变参数格式化输出到一个字符数组。
用法类似于vsprintf,不过加了size的限制,防止了内存溢出(size为str所指的存储空间的大小)。
返回值:执行成功,返回写入到字符数组str中的字符个数(不包含终止符),最大不超过size;执行失败,返回负值,并置 error

使用举例:
vsnprintf(str, len, "%s %s %s", str1,str2,str3);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值