6.7 日志和异常

6.7.1 Log

ROS为开发者和用户提供了一套日志记录和输出系统,这套系统的实现方式是基于topic,也就是每个节点都会把一些日志信息发到一个统一的topic上去,这个topic就是/rosoutrosout本身也是一个node,它专门负责进行日志的记录。我们在启动master的时候,系统就会附带启动rosout。

在roscpp中进行日志的输出,需要先include <ros/console.h>,这个头文件包括了五个级别的日志输出接口,分别是:

  • DEBUG
  • INFO
  • WARN
  • ERROR
  • FATAL 用法非常简单:
    ROS_DEBUG("The velocity is %f", vel);
    ROS_WARN("Warn: the use is deprecated.");
    ROS_FATAL("Cannot start this node.");
    ...
    
    当然也可以在一些特定场景,特定条件下输出,不过对于普通开发者来说可能用不到这么复杂的功能。具体可参考:http://wiki.ros.org/roscpp/Overview/Logging

6.7.2 Exception

roscpp中有两种异常类型,当有以下两种错误时,就会抛出异常:

ros::InvalidNodeNameException
当无效的基础名称传给ros::init(),通常是名称中有/,就会触发

ros::InvalidNameExcaption
当无效名称传给了roscpp

results matching ""

    No results matching ""