当前位置: 首页 > wzjs >正文

如何做返利网站国内设计公司前十名

如何做返利网站,国内设计公司前十名,雇人做淘宝网站多少钱,整体vi设计方案1. Exception 和 Error 的区别 继承关系:Exception 和 Error 都继承自 Throwable 类,这是 Java 中唯一可以被抛出(throw)或捕获(catch)的类型。 Exception: 定义:表示程序正常运行…

1. Exception 和 Error 的区别

继承关系:Exception 和 Error 都继承自 Throwable 类,这是 Java 中唯一可以被抛出(throw)或捕获(catch)的类型。

Exception:
定义:表示程序正常运行中可以预料的意外情况,通常是可以被捕获并处理的。
分类
- 可检查异常(Checked Exception):在编译期必须显式捕获或声明抛出,例如 IOException。
- 不检查异常(Unchecked Exception):运行时异常,通常是逻辑错误,如 NullPointerException、ArrayIndexOutOfBoundsException,编译器不会强制要求捕获。

示例代码:

// 检查型异常必须处理
try {FileInputStream file = new FileInputStream("missing.txt");
} catch (FileNotFoundException e) {System.out.println("文件未找到");
}// 非检查型异常(无需强制处理)
String str = null;
System.out.println(str.length()); // 抛出 NullPointerException

Error:
定义:表示程序运行中不正常的情况,通常是不可恢复的,如 OutOfMemoryError、StackOverflowError。
特点:不建议捕获,因为这些错误通常表示系统资源耗尽或运行环境异常。

示例场景:

// 递归调用导致栈溢出(StackOverflowError)
public static void infiniteRecursion() {infiniteRecursion();
}
public static void main(String[] args) {infiniteRecursion(); // 抛出 StackOverflowError
}

一句话总结:
Exception是程序可以处理的异常,Error是程序无法处理的严重错误!

2. 异常处理机制

  • try-catch-finally:Java 提供的基本异常处理结构,用于捕获和处理异常。
  • throw 和 throws:throw 用于抛出异常实例,throws 用于声明方法可能抛出的异常。
  • try-with-resources:Java 7 引入的特性,用于自动管理资源,确保资源在 try 块执行完毕后自动关闭。
  • multiple catch:Java 7 引入的特性,允许在同一个 catch 块中捕获多个异常类型。

3. 异常处理的最佳实践

  • 避免捕获通用异常:尽量捕获具体的异常类型,而不是通用的 Exception,以避免隐藏潜在问题。
  • 不生吞异常:捕获异常后应进行适当处理,如记录日志或重新抛出,而不是简单地忽略。
  • Throw early, catch late:尽早抛出异常,以便在问题发生时及时定位;在高层捕获异常,以便进行统一处理。
  • 自定义异常:根据需要自定义异常类型,但需注意避免包含敏感信息,以防止安全问题。

4. 异常处理的性能开销

  • try-catch 的性能开销:try-catch 代码块会影响 JVM 的优化,建议仅捕获必要的代码段。
  • 异常实例化开销:每次实例化 Exception 都会对当前栈进行快照,这是一个相对昂贵的操作,频繁抛出异常会影响性能。

5. 不同编程范式对异常处理的影响

  • 同步编程:异常处理相对直观,通常通过 try-catch 块捕获和处理异常。
  • 异步编程:如反应式编程(Reactive Stream),异常处理需要特别小心,因为堆栈不再是同步调用的垂直结构。建议使用 traceId 或类似机制串联日志,以便跟踪异常。

6. 常见问题和解决方案

  • 捕获通用异常:避免捕获 Exception 或 Throwable,而是捕获具体的异常类型。
  • 生吞异常:避免在捕获异常后不进行任何处理,如 e.printStackTrace(),而应记录到日志系统。
  • 异常处理策略:在异步编程中,建议使用框架提供的异常处理机制,如 CompletableFuture 或 Mono 的异常处理方法。

7. 核心对比总结

场景ExceptionError
是否可恢复程序可能恢复程序无法恢复
处理方式捕获并处理(检查型)或修复代码(非检查型)无法处理,需优化代码或调整环境
开发者责任需要主动处理异常逻辑避免错误发生(如内存泄漏)
常见子类IOException, SQLException, RuntimeExceptionOutOfMemoryError, StackOverflowError

http://www.dtcms.com/wzjs/299053.html

相关文章:

  • 网站开发框架的工具链接提交
  • xml做网站源码网站搭建谷歌seo
  • 有做酒席酒水网站吗百度一下百度首页
  • 长春一大网站百度经验悬赏令
  • asp网站源码安装教程国内做网站比较好的公司
  • 龙口网站制作公司如何建立网站平台的步骤
  • 电商网站建设电话精准推广的渠道有哪些
  • 承德网站建设制作深圳正规seo
  • 大连营销型网站百度推广管家
  • 网站开发fsdpjq信阳seo优化
  • 没有网站可以做百度排名吗seo网课培训
  • 河北做网站公司那家好app用户量排名
  • 企业所得税优惠政策2021年小微企业搜索引擎优化的含义和目标
  • 石家庄工信部网站网站建设公司苏州
  • 温州做网站公司网站域名费一年多少钱
  • 微信公众号会员卡管理系统百度推广怎么优化
  • 网站代码怎么做seo快速排名关键词
  • 用帝国做网站怎么样链友咨询
  • 做网站公司需要什么职位个人网页制作成品欣赏
  • 做百度推广的网站吗2021全国大学生营销大赛
  • 接推广网站seo搜索排名影响因素主要有
  • 建设部网站从何时可以查询工程师证石家庄网站建设排名
  • 江阴网站设计厦门seo网站推广优化
  • 重庆市城市建设规划官方网站百度知道网页入口
  • 南京网站建设培训班腾讯企点app下载安装
  • 电子商务网站建设的准备工作有哪些搜索引擎优化案例
  • 网站字体企业网站设计的基本内容包括哪些
  • 做化工行业网站网络营销课程总结1500字
  • 做计划网站深圳网络推广团队
  • 特产网站怎么做google关键词排名优化