try catch基本介绍。

本文旨在帮助初学者了解如何在代码中合理使用try-catch块,通过实例解析常见异常场景并提供优化建议,以提高代码的健壮性和可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:正在逐步尝试将try,catch加入代码中,所以此文新手适用。

try catch一般来说,使用在可能会出现异常的代码块。具体什么时候会出现异常,那需要知识和经验的积累。
一般情况下适用try catch的模块有:数据库操作,文件操作,网络通信操作和一些设备连接。因为这些地方最可能出现异常。

网络上说,try catch可能会影响效率。但影响是否可接受,这可能取决于软件的使用范围。比如待效率要求很高的软件,在可能的情况下,减少try catch的使用(但个人认为,不可能不使用)

建议:参考一下几条原则(注意“灵活”)
几条建议:
  ☆ 如果无法处理某个异常,那就不要捕获它。 
  ☆ 如果捕获了一个异常,请不要胡乱处理它。 
  ☆ 尽量在靠近异常被抛出的地方捕获异常。 能够底层处理的异常,不要放置到高层。
  ☆ 在捕获异常的地方将它记录到日志中,除非您打算将它重新抛出。 
  ☆ 按照您的异常处理必须多精细来构造您的方法。 
  ☆ 需要用几种类型的异常就用几种,尤其是对于应用程序异常。
  ☆ 把低层次的异常封装成层次较高程序员较容易理解的异常。
  ☆ 尽量输出造成异常的完整数据
  ☆ 尽量捕获具有特定含义的异常:比如SqlException,而不是简单地捕获一个Exception。

 1.尽量给CLR一个明确的异常信息,不要使用Exception去过滤异常

    2.尽量不要将try…catch写在循环中

    3. try尽量少的代码,如果有必要可以使用多个catch块,并且将最有可能抛出的异常类型,书写在距离try最近的位置

    4.不要只声明一个Exception对象,而不去处理它。这样做白白增加了Exception Handing Table的长度。

    5.使用性能计数器实用工具的“CLR Exceptions”检测异常情况,并适当优化


另外:如果不知道如何处理异常,那么最少打印日志,用来查看原因。

测试用例中,使用throw抛出一个派生类的Exception可以通过基类的Exception来获取。此用法可以在:传值,引用两种方式下使用。
希望可以探索原理。我可以理解指针获取,但无法理解传值和引用两种方式的获取。
java处理字符串“{"id": 7, "table": "alert_message_oa", "platform": "prjAprProc", "requestId": 1650140, "申请人": "黄莉", "所在公司": "集团公司", "所在部门": "业务中心", "流程编号": "ZHZHXM09202503050001", "流程说明": "", "申请日期": "2025-03-05", "相关流程": "", "相关附件": "", "紧急程度": "紧急", "项目名称": "竹子经销商放开二手车畅享60期", "项目优先级": "P0", "期望上线日期": "2025-03-10", "计划启动日期": "2025-03-14", "计划完成日期": "2025-03-14", "详细需求描述": "<div id=\"wea_rich_text_default_font\" style=\"font-family:微软雅黑;font-size:12;\"><p>       针对竹子战略性合伙人模式业务,特此申请四川、湖南、杭州、云南、广东,以及后期省份开通的竹子业务均恢复准新车(二手车)畅享客户的准入,请科技针对该经销商打开二手车畅享60期<br />                                               谢谢支持</p><p> </p></div>", "需求背景描述": "集团为控制风险,于2 月25日关闭了担保业务二手车畅享客户的准入;<br>现有竹子业务的0公里准新车业务(资方认定为二手车),实际按新车产品方案执行,且利润再增加10%,高收益覆盖高风险。<br>竹子常规二手车基本走民生助贷,不会走我司秒租贷产品;因0公里准新车民生助贷的评估价过低,故只这部分车辆业务会走秒租贷<br>     ", "预计项目成本": null, "预计项目工时(人/日)": "1"}”中的特殊符号
03-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值