[R]R语言里的异常处理与错误控制

之前一直只是在写小程序脚本工具,几乎不会对异常和错误进行控制和处理。

随着脚本结构和逻辑更复杂,脚本输出结果的准确性验证困难,同时已发布脚本的维护也变得困难。所以也开始考虑引入异常处理和测试工具的事情。

不过好像R语言的异常处理似乎有些辣鸡?查了下资料和try的文档说明,感觉说的并不清楚。

在网上查了一些资料,对R语言异常处理做了比较详细的说明,留档作为参考。至于测试工具的问题,后续还是再考虑下。

文章链接:R语言-处理异常值或报错的三个示例

原文参考了以下几个网页:

http://stackoverflow.com/questions/14059657/how-to-skip-an-error-in-a-loop

http://stackoverflow.com/questions/8093914/skip-to-next-value-of-loop-upon-error-in-r-trycatch (这个链接里还连接了非常多的关于R语言异常处理)。

==========

留坑,后面自己做下总结。

时间: 2024-10-12 17:12:36

[R]R语言里的异常处理与错误控制的相关文章

c语言里NULL的理解

NULL一看名字就知道为空,什么为空呢,而且全是大写.是不是意味着是个宏定义呢?如果想到这里,我相信你离真理不远了. 有些人为什么犯错?因为只看到了NULL这四个字母而已,没有看到事物的本质,老师在课堂上也只是说空指针,空字符串..这样只会陷入无止境的误区.如果我这样定义: #define NULL 0 你是不是又该纠结了呢? 正确的做法是把它当作一个宏,不管如何变化,来展开看看就知道了. 在C语言的头文件stddef.h中,NULL的定义如下: #define NULL #define __c

LLVM里的异常处理

原文:http://llvm.org/docs/ExceptionHandling.html 介绍 本文是与LLVM里有关异常处理的所有信息的集散地.它描述了LLVM异常处理信息所具有的格式,这对对构建前端或直接处理该信息感兴趣的人是有用的.另外,本文提供了关于在C与C++中使用什么异常处理信息的特定例子. Itanium ABI零开销异常处理 对大多数编程语言,异常处理被设计来从应用程序正常使用中很少发生的情形中恢复.为了达到这个目的,通过执行检查点任务,比如保存当前pc或寄存器状态,异常处理

[原创]C语言里为何会有“2+2=5”的结果

原文链接:C语言里为何会有“2+2=5”的结果 写这篇原创文章是因为看到了极客中的一篇文章<有趣各种编程语言实现2+2=5>,其中C语言是这样实现的: 1 int main() { 2 char __func_version__[] = “5″; // For source control 3 char b[]=”2″, a=2; 4 printf(“%d + %s = %s\n”, a, b, a+b); 5 return 0; 6 } 有些童鞋可能会说,这不是偷换概念吗,拿字符串和int相

把十进制整数转换为r(r=2)进制输出(顺序栈实现)

上周的第二个作业补上~~ 上周的要求: 1.给出顺序栈的存储结构定义. 2.完成顺序栈的基本操作函数. 1)      初始化顺序栈 2)      实现入栈和出栈操作 3)      实现取栈顶元素和判空操作 把十进制整数转换为r(r=2)进制输出 3.编写主函数实现基本操作函数功能,并设置测试数据,测试合法和非法数据的输出结果. 4.程序调试运行并保存输出结果. 5.整理并提交实验作业. 1 #include <cstdio> 2 #include <cstring> 3 #d

C语言里全局变量管理

C语言里信息封装比較弱,仅仅有静态变量的文件作用域. 假设不加约束.非常easy造成全局变量满天飞. 假设定义一个全局结构体.把全局变量都放到这个GlobleVariate里,应该好管一些,至少比裸奔文雅一点. 更进一步,每一个模块定义自己的结构体.把模块公共变量放到结构体里.这样把GlobleVariate拆成多个小结构体,会更文雅一些. 大概的伪代码是以下这个样子. struct GlobleVariate { struct ModuleVariate1: struct ModuleVari

O?r?a?c?l?e?1?1?g? ?f?o?r? ?R?e?d?H?a?t?6?.?4?安?装?手?册

一. 检查 Oracle 11g 安装所依赖的软件包 检查包是否安装 # rpm -q 包名 包名: 1 ) binutils 2 ) compat-libstdc++ 3) elfutils-libelf 4) elfutils-libelf-devel 5) gcc 6) gcc-c++ 7) glibc 8) glibc-common 9) glibc-devel 10) glibc-headers 11) pdksh 12) libaio 13) libaio-devel 14) lib

C语言里为何会有“2+2=5”的结果

写这篇原创文章是因为看到了极客中的一篇文章<有趣各种编程语言实现2+2=5>,其中C语言是这样实现的: int main() { char __func_version__[] = "5″; // For source control char b[]="2″, a=2; printf("%d + %s = %s\n", a, b, a+b); return 0; } 有些童鞋可能会说,这不是偷换概念吗,拿字符串和int相加,是滴,但在这里请这些童鞋暂且

const分别在C和C++语言里的含义和实现机制

const的含义        简单地说:const在c语言中表示只读的变量,而在c++语言中表示常量. C语言 const是constant的缩写,是恒定不变的意思,也翻译为常量,但是很多人都认为被const修饰的值都是常量,其实这是不精确的.因为,精确来说应该是只读的变量,其值在编译的时候不能被使用,因为编译器在编译的时候不知道其存储的内容.或许当初这个关键字应该被替换为readonly. C语言中const定义的变量只是给出了对应的内存地址,而不是像#define一样给出的是立即数,所以,

嵌入式C语言里的土豪们之除法与移位

土豪这个词用在接下来要出场的C语言再合适不过了.他们在嵌入式C语言里占尽了奢华,但是毕竟我们更需要一个节约型的微生态环境.在这里简单给大家分析一下嵌入式C语言编程时用到的除法与移位. 本文引用地址:http://www.eepw.com.cn/article/182359.htm 除法土豪 除法在嵌入式微处理器里可算是一个消耗大户,复杂的实现方式不仅占用了大师宝贵的计算时间而且精度有限情况下占用了大片的RAM.因此,常常在各类文章里看到,编程人员应该使用右移运算来代替除法.这个右移方法没有问题,