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

腾讯云提供网站建设吗wordpress 简洁主题

腾讯云提供网站建设吗,wordpress 简洁主题,有没有教做健身餐的网站,招工网站怎么做一、try-catch-finally 机制 1. 基本结构 java 复制 try {// 可能抛出异常的代码 } catch(异常类型1 e) {// 处理特定异常 } catch(异常类型2 e) {// 处理其他异常 } finally {// 无论是否发生异常,都会执行的代…

一、try-catch-finally 机制

1. 基本结构

java
复制
try {// 可能抛出异常的代码
} 
catch(异常类型1 e) {// 处理特定异常
} 
catch(异常类型2 e) {// 处理其他异常
} 
finally {// 无论是否发生异常,都会执行的代码(常用于资源释放)
}

2. 核心规则

  • try 块​​:包裹可能抛出异常的代码。
  • catch 块​​:捕获并处理特定类型的异常(按异常类型从具体到一般排序)。
  • finally 块​​:始终执行,即使有 return 或 continue
  • ​资源释放​​:推荐使用 try-with-resources(Java 7+)自动关闭资源(如文件流、数据库连接)。

3. 示例

(1) 基础用法
java
复制
try {int result = 10 / 0; // 抛出 ArithmeticException
} 
catch (ArithmeticException e) {System.out.println("除数不能为零: " + e.getMessage());
} 
finally {System.out.println("finally 块总是执行");
}
(2) finally 与 return
java
复制
public int testFinally() {try {return 1;} catch (Exception e) {return 2;} finally {System.out.println("执行 finally");// return 3; // ⚠️ 如果 finally 中有 return,会覆盖 try/catch 的返回值!}
}
// 输出:执行 finally → 返回 1
(3) try-with-resources(自动关闭资源)
java
复制
try (FileInputStream fis = new FileInputStream("test.txt")) {// 文件操作
} catch (IOException e) {e.printStackTrace();
}
// 文件流会自动关闭,无需手动调用 fis.close()

二、自定义异常

1. 为什么需要自定义异常?

  • ​业务语义化​​:表达特定业务错误(如用户年龄非法)。
  • ​异常分类​​:区分不同场景的异常,提高代码可读性。

2. 实现步骤

  1. ​继承 Exception 或 RuntimeException​:
    • 检查型异常(Checked):继承 Exception,需在方法签名中声明或捕获。
    • 非检查型异常(Unchecked):继承 RuntimeException,无需强制处理。
  2. ​添加构造方法​​:通常提供无参构造和带消息的构造。

3. 示例

(1) 定义自定义异常
java
复制
// 自定义检查型异常
public class InvalidAgeException extends Exception {public InvalidAgeException() {super();}public InvalidAgeException(String message) {super(message);}
}// 自定义非检查型异常
public class BusinessException extends RuntimeException {public BusinessException(String message) {super(message);}
}
(2) 抛出并捕获自定义异常
java
复制
public class UserService {public void registerUser(int age) throws InvalidAgeException {if (age < 0) {throw new InvalidAgeException("年龄不能为负数");}// 其他注册逻辑}
}// 调用方处理异常
public class Main {public static void main(String[] args) {UserService service = new UserService();try {service.registerUser(-5);} catch (InvalidAgeException e) {System.out.println("注册失败: " + e.getMessage());}}
}

三、throws 与 throw

1. 核心区别

​关键字​​作用​​使用场景​
throw手动抛出一个异常对象在方法内部检测到错误时主动抛出异常
throws声明方法可能抛出的异常类型在方法签名中声明异常,由调用者处理

2. 示例

(1) throw 抛出异常
java
复制
public class BankAccount {private double balance;public void withdraw(double amount) {if (amount > balance) {throw new IllegalArgumentException("余额不足"); // 抛出运行时异常}balance -= amount;}
}
(2) throws 声明异常
java
复制
public class FileProcessor {public void readFile(String path) throws IOException {FileInputStream fis = new FileInputStream(path);// 文件操作可能抛出 IOException}
}// 调用方必须处理异常
public class Main {public static void main(String[] args) {FileProcessor processor = new FileProcessor();try {processor.readFile("test.txt");} catch (IOException e) {e.printStackTrace();}}
}

四、异常分类与处理策略

1. 异常分类

​类型​​说明​​示例​
​Checked Exception​必须显式处理(捕获或声明抛出)IOExceptionSQLException
​Unchecked Exception​无需强制处理(通常是程序逻辑错误)NullPointerExceptionArithmeticException

2. 最佳实践

  1. ​避免过度捕获​​:只在必要处捕获异常,让上层处理更合适。
  2. ​不要忽略异常​​:捕获后至少记录日志或进行清理操作。
  3. ​使用具体异常类型​​:避免直接捕获 Exception,细化到具体异常。
  4. ​自定义异常用于业务逻辑​​:如 InvalidInputExceptionPaymentFailedException

五、综合示例:订单支付场景

java
复制
public class PaymentService {// 自定义异常public static class PaymentFailedException extends Exception {public PaymentFailedException(String message) {super(message);}}// 模拟支付方法public void pay(double amount) throws PaymentFailedException {if (amount <= 0) {throw new IllegalArgumentException("金额必须大于零");}boolean success = false; // 模拟支付失败if (!success) {throw new PaymentFailedException("支付失败,请重试");}}
}public class Main {public static void main(String[] args) {PaymentService service = new PaymentService();try {service.pay(-100); // 触发 IllegalArgumentException} catch (IllegalArgumentException e) {System.out.println("参数错误: " + e.getMessage());} catch (PaymentService.PaymentFailedException e) {System.out.println("支付异常: " + e.getMessage());} finally {System.out.println("支付流程结束");}}
}

六、总结

  • try-catch-finally​:确保资源释放和异常处理,finally 始终执行。
  • ​自定义异常​​:增强代码可读性,明确业务错误类型。
  • throws vs throw​:
    • throw:在方法内主动抛出异常。
    • throws:在方法签名中声明异常,传递处理责任。
  • ​异常处理原则​​:
    • 不捕获无法处理的异常。
    • 不忽略异常(至少记录日志)。
    • 使用具体异常类型,避免过度泛化。

文章转载自:

http://hVlSOfiB.bpmfq.cn
http://tZLdlxgR.bpmfq.cn
http://d57kRfEt.bpmfq.cn
http://i5cef4cL.bpmfq.cn
http://Y8Cyfyyd.bpmfq.cn
http://nmwFoM0i.bpmfq.cn
http://AuDKXKaM.bpmfq.cn
http://DpQcUxWL.bpmfq.cn
http://ESQpTwR2.bpmfq.cn
http://eBoGQXRQ.bpmfq.cn
http://rXtu3Gby.bpmfq.cn
http://ATAEfOTi.bpmfq.cn
http://rBwZ1AFd.bpmfq.cn
http://jwnhT0zN.bpmfq.cn
http://QExXNFox.bpmfq.cn
http://tUchICTd.bpmfq.cn
http://0zOldIi3.bpmfq.cn
http://VzGVrOfY.bpmfq.cn
http://jcxN3Nll.bpmfq.cn
http://I9pcAkIH.bpmfq.cn
http://ydyHKjSw.bpmfq.cn
http://RxfdWLyi.bpmfq.cn
http://294COrE4.bpmfq.cn
http://0VEioKND.bpmfq.cn
http://uvW3sNir.bpmfq.cn
http://FRjFXdE6.bpmfq.cn
http://qVWvH0yq.bpmfq.cn
http://KvCMlmLO.bpmfq.cn
http://bE0GOks7.bpmfq.cn
http://kyg4A0Ik.bpmfq.cn
http://www.dtcms.com/wzjs/716455.html

相关文章:

  • 小企业网站建设的措施移动端网站提交提交
  • 新余网站建设找谁做个人企业邮箱怎么申请
  • 建立网站的阶段巴顿品牌设计官网
  • 网站推广软件价格郑州做网站排名
  • 网站手机页面做多大企点下载官网
  • sns社交网站网站开发背景设置
  • 网站设计公司哪里好建设项目招标网站
  • 上海可以做网站的公司启信宝企业查询入口
  • 为什么四川省建设厅网站打不开佛山网站建设公司哪家最好
  • 辽宁同鑫建设有限公司网站网页设计工作室赚钱吗
  • 网站开发竞争对手分析加快建设乡镇招商网站
  • 网站应用市场设计定制衣服的厂家
  • 搜索设置 网站深圳市住房和建设局工程交易中心
  • 免费成品网站下载wordpress统计工具
  • 深圳网站seo设计公司电脑为什么有的网站打不开
  • 衍艺网站建设天津市网站建站制作
  • 给别人做网站如何收费没有网站也可以做推广吗
  • 视频网站推广phpcms网站备份
  • 开发的网站推广做网站怎么样
  • 什么是网站前台静态化海诚互联
  • 网站建设验收条款优化推广网站排名
  • 可以将自己做的衣服展示的网站台州网站优化方案
  • 有哪些做企业网站的无锡赛孚建设工程有限公司网站
  • 二手车交易市场骨科医院网站优化服务商
  • 免费网站建设基础步骤建设网站的技术方案是啥
  • 网站建设ppt简介长春关键词推广
  • 成都知名建筑公司排名舆情优化
  • 设备外贸用哪个网站用vue做网站的实例
  • 东莞网站建设制作公司黄页引流推广链接
  • 专业电子网站建设wordpress绑定手机版