`
dongbin
  • 浏览: 244714 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

以打印异常为荣,以出错不报为耻

阅读更多
今天编写ROR应用接受了两个深刻教训:

1. 以打印异常为荣,以出错不报为耻:

很简单的undefined method错误,因为错误被我rescue之后没有打印出来,结果花了一个小时调试。一定要深刻反省!

2. has_many :through 不能代替 has_and_belongs_to_many:

用了has_many :through之后
user.items << item

不能保存到数据库。

如果join_table不需要额外的字段,就has_and_belongs_to_many吧,因为这时,中间那个Model不是Model!,权当作实现复杂性吧!

分享到:
评论
2 楼 dongbin 2006-12-08  
谢谢 cookoo, 我也是刚刚从rails 1.2 RC 中知道了。
1 楼 cookoo 2006-11-22  
在edge rails里has_many :through支持<<
http://dev.rubyonrails.org/changeset/4786
所以,下一个版本habtm就正式算作废了。

相关推荐

    《编程8荣8耻》(高清晰)pdf版

    **以打印日志为荣,以出错不报为耻** - **含义**:在软件开发过程中,记录日志是非常重要的。这有助于调试和定位问题,以及后期维护。 - **实践方法**: - 使用成熟的日志框架(如Log4j、SLF4J等)。 - 在关键...

    PowerShell打印服务器打印任务状态监控_打印出错自动邮件报警

    使用PowerShell脚本自动监控服务器或者电脑上的所有打印机驱动,如果有Error的任务卡在驱动中导致后续的打印任务全部卡在上面,脚本会执行一个邮件通知 邮件通知内容: - 打印机名 - Error状态的打印机任务名 - ...

    打印代码及出错抓图

    在调试过程中,如果程序出现异常或者行为不符合预期,打印代码可以帮助我们追踪问题的来源。例如,可能在某一点上,一个变量的值没有被正确地初始化,或者某个条件判断出错,导致了后续的错误。通过逐步打印关键位置...

    TIA博途从V15.1版本升级到V16后,下载配方时出错,动作异常终止.doc

    在TIA博途中,从V15.1版本升级到V16的过程中,可能会遇到一些新的挑战和问题,尤其是在下载配方时出现“出错,动作异常终止”的报错。这个问题的解决过程涉及到对变量地址、变量名长度以及变量范围的理解和检查。 ...

    系统出错设计文档,供参考

    【系统出错设计】详细设计说明书旨在探讨系统中错误处理的重要性,如何设计并集成到系统中,以及如何管理和维护异常出错信息。该文档适用于项目主管、开发人员、测试人员和维护人员等不同角色,他们都需要对系统出错...

    JAVA异常出错的教程,非常全面。

    Java异常处理是编程过程中的重要环节,它有助于增强程序的健壮性和稳定性。在这个全面的教程中,我们将深入探讨Java异常的基本概念、分类、处理机制以及最佳实践。 首先,Java异常是程序运行时发生的错误,它中断了...

    C# excel导入出错解决办法

    "C# Excel导入出错解决办法" 在ASP.NET项目开发过程中,经常需要进行数据处理,Oracle数据库和Microsoft Excel在数据处理过程中经常使用到。Oracle数据库可以处理大量数据,无论性能和坚固性都是非常好的数据库...

    C#异常处理小例子

    总之,C#的异常处理机制通过`try-catch-finally`和`using`等语法糖,为开发者提供了强大且灵活的方式来处理程序中的错误和异常,确保了代码的稳定性和可靠性。在实际编程中,我们应该充分利用这些工具,编写出更加...

    管家婆软件打印常见问题解决方案

    点击打印预览后,退出预览时提示“删除目录 temp 出错”答:请进入客户端安装路径的 data 文件夹下,将 temp 文件夹删除即可。 三、关于打印管理器安装问题 在主页下载的 9.6 版打印管理器,解压时出现“F:\...

    异常处理.ppt异常处理.ppt异常处理.ppt异常处理.ppt异常处理.ppt

    - 不要在`catch`块中仅仅打印错误信息,应尝试处理或记录异常,以便于调试和问题定位。 - 适当使用`throws`关键字声明方法可能抛出的异常,让调用者知道需要处理这些异常。 异常处理是软件开发中的核心概念,它...

    从数据类型 nvarchar 转换为 numeric 时出错.pdf

    如果nvarchar类型的字段中包含非数字的字符,那么在转换为numeric时就会出错。 知识点二:用友T+软件的使用 用友T+是一款企业管理软件,主要用于企业财务管理、进销存管理等方面。在本案例中,客户在使用用友T+软件...

    报警.wav,按键音,出错报警

    报警.wav,按键音,出错报警

    添加json所报的异常

    4. **类型不匹配**:当尝试将JSON值转换为不兼容的类型时,例如将字符串转换为整数但内容不是有效的数字,会抛出异常。确保在转换前检查JSON值的类型,或者使用能处理异常的转换方法。 5. **找不到键值**:如果试图...

    JAVA实验九异常处理.pdf

    在程序中使用用户输入之前应该进行适当的验证,并准备好相应的异常处理逻辑,以避免程序因不当输入而出错。 通过上面的知识点,可以看出异常处理在Java程序设计中的重要性,良好的异常处理可以提高程序的健壮性和...

    C+ + VC+ + 语言的异常及其处理方法

    C++与VC++语言的异常及其处理方法是一个深入理解现代编程语言如何管理错误和异常的重要主题。在传统的面向过程的编程语言中,错误处理通常涉及在代码中混合错误检查和常规逻辑,导致代码冗长且难以维护。然而,C++与...

    C#解决“创建窗口句柄时出错”异常

    标题中的"C#解决‘创建窗口句柄时出错’异常"指的是在使用C#编程时遇到的一个常见问题,即在创建窗口或者控件时遇到了错误,导致无法成功创建窗口句柄(HWND)。这个问题通常与Windows API的交互有关,因为创建窗口...

    Spine_图片显示出错的处理方法

    ### Spine 图片显示出错的处理方法 #### 一、问题背景及现象 在使用Spine进行2D骨骼动画制作的过程中,可能会遇到图片显示异常的情况。这类问题通常表现为原本正常显示的图片,在某些操作之后(例如保存项目或者...

    打印服务出错的修复工具

    用于清除打印服务中打印任务无法清除的问题, 使用后,打印服务重启,打印缓存被清除,从而 恢复打印服务正常,可以继续打印。

    可以获取详细出错信息的控件

    EurekaLog是一款知名的Delphi和C++Builder开发环境下使用的错误追踪组件,它能自动捕捉应用程序中的异常,记录详细的错误信息,并以报告的形式呈现给开发者。EurekaLog不仅可以提供错误发生时的源代码行号,还可能...

    C# WINFORM应用程序未处理异常的统一处理技巧

    异常处理是每个应用程序都会用到的,纵然在程序编写期间我们都会最大限度的考虑可能发生的异常并进行相应的处理,但是往往并不能完全考虑周全,百密一疏,出现未处理异常而导致程序出错,数据丢失,如用户输入错误...

Global site tag (gtag.js) - Google Analytics