在
ruby中编写一个相当简单的命令行工具我需要在命令行参数中报告有关错误的有意义的消息,或者在程序中报告其他错误条件. (输入文件未找到,输入格式无效等)
现在,在检测参数列表中的错误时,我只需用一个明智的描述引发ArgumentError.这是一个很好的做法,还是冒着隐藏编程错误的风险呢?换句话说,Ruby中的系统定义的异常是否意味着应用程序的使用,还是应该总是创建自己的异常来报告非系统错误?
编辑:
例如,如果我调用一个参数数不正确的方法,ruby会引发ArgumentError.这是一个编程错误,我想告诉有关堆栈跟踪和所有.但是,当输入到我的程序是不正确的,我可能想给用户一个简短的消息,甚至默认忽略它.这给我建议,ArgumentError不适合自己使用的应用程序.