"异常日志-powerbuilder 9.0 web开发篇"
在Java开发中,异常日志处理是非常关键的一部分,因为它关乎到程序的稳定性和可维护性。以下是一些关于异常处理的重要知识点:
1. **异常分类与处理**:强制规定,对于Java类库中的RuntimeException,如`IndexOutOfBoundsException`和`NullPointerException`,应该通过预先检查避免,而不是通过catch块处理。只有在无法预检查的情况下,例如解析外部字符串数字时,才使用catch捕获异常。
2. **异常不应用于流程控制**:异常处理的效率低于条件分支,因此不应将异常作为流程控制或条件判断的手段。
3. **精细化异常处理**:避免大段代码包裹在try-catch块中。对于不稳定代码,应区分异常类型并进行针对性处理。
4. **异常传递与处理**:捕获异常后,如果不需要处理,应当将异常向上抛出,由调用者处理。最外层的业务代码必须处理异常,并转换为用户可理解的错误信息。
5. **事务管理**:在事务代码中使用try-catch时,若需要回滚事务,务必手动进行回滚。
6. **资源关闭**:finally块中应确保资源对象和流对象被正确关闭,即使出现异常也要包含try-catch。
7. **finally块中的return**:禁止在finally块中使用return,因为这样会导致try块中的return语句无法执行。
8. **异常匹配**:捕获的异常要么与抛出的异常完全匹配,要么捕获的是抛出异常的父类。这能确保正确处理预期的异常类型。
9. **返回null的注释**:允许方法返回null,但需在注释中明确指出哪些条件下可能返回null,以便调用者进行null检查,防止出现NullPointerException。
此外,除了异常处理,还有其他编程规约,例如命名规约、常量定义、格式规约、面向对象编程规约、集合处理、并发处理、控制语句、注释规约和其他相关规定。这些规约旨在提高代码质量、可读性和可维护性,同时降低协同开发的难度。
在日志规约方面,日志记录应清晰、准确,有助于问题排查。MySQL规约涉及建表、索引、SQL编写和ORM映射,目的是优化数据库性能和数据安全。工程规约涵盖了应用分层、二方库使用和服务器配置等,确保软件工程的标准化。安全规约则关注代码的安全性,预防常见的安全漏洞。
这些规约集合了阿里巴巴集团的技术经验,旨在提升软件质量和开发效率,同时也适用于其他Java开发项目,帮助开发者构建更健壮、更安全的系统。