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

怎么样免费给网站做优化广州网站优化关键词排名

怎么样免费给网站做优化,广州网站优化关键词排名,网站建设的最新技术,广西建设职业技术学院管理工程系网站2014考试前培训时间业务背景 业务开发中,总会遇到代码出现异常的情况,不合理的异常处理或不处理异常除了影响业务功能和中断业务功能外,还会增加排查问题的难度。所以我们要学会正确的使用异常处理。合理的异常处理能减少很多潜在的问题,是提高代码…
业务背景

业务开发中,总会遇到代码出现异常的情况,不合理的异常处理或不处理异常除了影响业务功能和中断业务功能外,还会增加排查问题的难度。所以我们要学会正确的使用异常处理。合理的异常处理能减少很多潜在的问题,是提高代码鲁棒性的重要手段。

什么是异常

异常是程序在运行过程中发生的意外情况,通常是由外部因素或程序逻辑中的特殊情况引起的。例如文件不存在,网络连接中断,用户输入不合法等。和bug有所不一样,bug是指程序中存在的缺陷或错误,通常是由开发者的逻辑错误,疏忽或需求理解不准确导致的。它们都有可能导致程序出错。

异常的分类

在Java语言中,针对异常提供了异常处理机制,Java把异常分为两类,分别是受检异常和非受检异常。

  • 受检异常:程序在编译期间出现的异常,如文件不存在、网络连接失败等。
  • 非受检异常:又叫做运行时异常(RunTimeException),通常是程序在运行期间逻辑导致的,如空指针异常、数组越界等。
特性运行时异常(非受检异常)受检异常(Checked Exception)
发生阶段运行期间编译期间
是否强制处理
典型例子NullPointerExceptionArrayIndexOutOfBoundsExceptionIOExceptionSQLException
原因程序逻辑错误或外部条件外部因素(如文件不存在、网络中断)
异常的处理

针对这两种异常,java提供了异常处理机制,即使用throws、throw(用于手动抛出异常)和使用try-catch-finally。

  • thorws:用于声明方法可能抛出的异常,向上抛出异常,即把异常丢给调用方处理。
  • try-catch- finally:用于捕获并处理异常,在catch内部完成异常处理。finally块中的代码都会执行,通常用于释放资源。

例如下面的代码,使用了两种处理机制,一个是try-catch在方法中闭环,一个时throws抛出异常。

package com.example.demo;import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;/*** @author lijianxiong*/
public class NetWorkException {public static void main(String[] args) {exceptionDemoByTryCatch();}public static void exceptionDemoByTryCatch() {try {URL url = new URL("https://nonexistentwebsite.example");HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.connect();} catch (IOException e) {System.out.println("try-catch方法捕获异常,网络连接出现异常: " + e.getMessage());}}public static void exceptionDemoByThrows() throws IOException {URL url = new URL("https://nonexistentwebsite.example");HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.connect();}}
自定义异常

在实际开发中,当Java提供的Java异常类不满足业务需求时,比如要根据业务内容处理更加细致的异常,如要判断用户年龄,判断名字是否合法等。那么我们可以使用自定义异常。自定义异常通常会继承Exception类或者它的子类。

  • 继承Exception成为受检异常:如果自定义类直接继承Exception类,那么它就是一个受检异常,它使用时必须显示的处理。例如定义一个用户年龄不合法的异常。

    // 自定义受检异常
    public class InsufficientBalanceException extends Exception {public InsufficientBalanceException(String message) {super(message);}
    }// 业务类
    public class BankAccount {private double balance;public BankAccount(double balance) {this.balance = balance;}public void withdraw(double amount) throws InsufficientBalanceException {if (amount > balance) {throw new InsufficientBalanceException("余额不足,当前余额: " + balance);}balance -= amount;System.out.println("取款成功,剩余余额: " + balance);}
    }// 测试类
    public class Main {public static void main(String[] args) {BankAccount account = new BankAccount(1000);try {account.withdraw(1500); // 尝试取款} catch (InsufficientBalanceException e) {System.out.println("捕获到异常: " + e.getMessage());}}
    }
    
  • **继承RunTimeException类的自定义非受检异常:**在编译时不强制要求处理,以下是一个示例:

    // 自定义非受检异常
    class CustomUncheckedException extends RuntimeException {public CustomUncheckedException(String message) {super(message);}
    }public class UncheckedExceptionExample {public static void methodWithUncheckedException() {throw new CustomUncheckedException("这是一个自定义非受检异常");}public static void main(String[] args) {// 这里可以不捕获异常,编译能通过methodWithUncheckedException(); }
    }
    
总结
  • 自定义异常通过继承Exception和RunTimeException实现。
  • 自定义异常可以更好的表示特定业务。
  • 异常处理可以提供清晰的错误信息和异常链,方便调试和维护。
http://www.dtcms.com/wzjs/525328.html

相关文章:

  • 一条龙网站建设哪家好注册查询网站
  • 长沙铭万做网站外包项目接单平台
  • 宁波英文网站建设张雪峰谈广告学专业
  • 广东网站备案系统下载浏览器
  • 宜兴网站制作百度指数查询手机版app
  • 源码做网站图文教程免费网络推广渠道
  • 万户做网站如何关键对话
  • 上海网站建设的意义微信小程序开发教程
  • 天河移动网站建设百度 营销推广费用
  • 台州工程建设信息网站外贸网络推广公司
  • 建设电商网站的个人心得app推广渠道商
  • 满洲里建设局网站首页seo项目经理
  • 深圳建设网站过程怎样做一个产品营销方案
  • 电脑软件和网站怎么做竞价托管公司排名
  • 水产公司网站源码搜索引擎优化方法包括
  • 谁做视频网站搜索推广开户
  • 个人网站需要买服务器吗上海企业网站推广
  • 新建南昌网站建设公司沈阳seo推广
  • 一起做网站17广州企业推广策划方案
  • 成都手机网站设计宁波网络营销公司有哪些
  • 做暧暧暖网站日本网站推广和网站优化
  • 上海建筑网站如何进行seo
  • 龙岗高端建设网站建设竞价推广开户公司
  • 可以做动图的视频网站平谷头条新闻
  • 做网站前端需要编程基础吗网站策划是什么
  • 做presentation的网站惠州网站推广排名
  • 怎么做高端网站合肥seo推广外包
  • 昆山做网站价格网站免费高清素材软件
  • 深圳建筑业网站建设百度网站电话是多少
  • 红铃铛网站建设北京seo包年