首页 > 其他分享 >自定义异常

自定义异常

时间:2024-07-18 23:28:46浏览次数:13  
标签:BelowZeroException 自定义 RuntimeException throw new 异常 id

了解手动抛出异常对象和自动抛出

  • throw new 异常类的对象
  • throws 异常类对象,

两者区别

  • throw 在方法中用
  • throws在声明时用

使用场景

多个方法并列,可以使用throw

自定义异常

  • 继承于现有的异常体系。通常继承于RuntimeException \ Exception
  • 通常提供几个重载的构造器
  • 提供一个全局常量,声明为:static final long serialVersionUID;

如果继承RuntimeException运行时异常,则方法中可以这样用,

class Student{
    int id;

    public void regist(int id){
        if (id > 0){
            this.id = id;
        }else{
            // 手动抛出异常类对象
//            throw new RuntimeException("错误");
            throw new BelowZeroException();
        }


    }
}

public class BelowZeroException extends RuntimeException{

}

如果继承的不是运行时异常,则方法也要throws,

   public void regist(int id) throws Exception{
        if (id > 0){
            this.id = id;
        }else{
            // 手动抛出异常类对象
//            throw new RuntimeException("错误");
            throw new BelowZeroException();
        }


    }

public class BelowZeroException extends Exception{

}

标签:BelowZeroException,自定义,RuntimeException,throw,new,异常,id
From: https://blog.csdn.net/Misnearch/article/details/140508447

相关文章

  • python的异常处理
    文章目录语法错误(SyntaxError)六种典型的异常捕获异常抛出异常用户自定义异常Python的异常处理机制允许你在程序运行时捕获和处理错误。这对于提高程序的健壮性和用户体验至关重要。Python使用try和except语句来捕获和处理异常。你还可以使用else和finally子......
  • 十天学会python——第7天:异常与模块
    1异常1.1认识异常异常语法:try:可能发生错误的代码except:如果出现异常执行的代码try:f=open('test.txt','r')except:f=open('test.txt','w')捕获异常:try:可能发生错误的代码except异常类型:如果捕获到异常执行的代码try:......
  • C++异常
    异常描述std::exception该异常是所有标准C++异常的父类。std::bad_alloc该异常可以通过new抛出。std::bad_cast该异常可以通过dynamic_cast抛出。std::bad_typeid该异常可以通过typeid抛出。std::bad_exception这在处理C++程序中无法预期的异......
  • pytorch 自定义 dataloader 维度不对齐+广播机制导致不易察觉 bug
    很简单,自定义了一个dataloader,出现以下不易察觉buginputs维度:[bs,4],这个没问题labels维度:正确应该是[bs,1],但是dataloader出来是[bs]模型的outputs维度:[bs,1]如果用torch.mean(torch.abs(labels-outputs))计算L1Loss/MAE由于pytorch的广播机制,torch.ab......
  • C++中关于异常的知识点
    C++中关于异常的知识点异常基本概念异常处理的基本思想C++异常处理的实现异常基本语法栈解旋(unwinding)异常接口声明异常变量生命周期异常的多态使用C++标准异常库标准库介绍编写自己的异常类异常基本概念异常是一种程序控制机制,与函数机制独立和互补函数是一......
  • Java中的异常处理与容错设计最佳实践
    Java中的异常处理与容错设计最佳实践大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在Java编程中,异常处理是一个非常重要的环节。良好的异常处理和容错设计可以提升系统的健壮性和可维护性。本文将介绍Java中的异常处理与容错设计最佳实践,包括异常的分类......
  • Qt实现仪表盘-自定义控件
            仪表盘在很多汽车和物联网相关的系统中很常用,本文就来介绍一下Qt 仪表盘的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。一、简述         使用Qt绘制一个仪表盘,用来显示当前的温度,绘制刻度、绘制数字......
  • QT利用QPainter实现自定义圆弧进度条组件
               在可视化应用中,弧形进度条应用也比较广泛,本文示例封装了一个可复用、个性化的弧形进度条组件。本文示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。主要结构就是外围一圈圆角进度,中间加上标题和对应进度的百分比,进度条的起始角......
  • 2024-07-18 给vue项目添加自定义路由守卫
    要配置路由守卫要使用到vue-router,它是Vue.js官方的路由管理器,主要用于帮助开发者构建单页面应用(SinglePageApplication,简称SPA)。步骤一:新建路由文件,文件名随意,建议叫router.ts,规范一点//router.tsimport{createRouter,createWebHashHistory}from"vue-router";i......
  • 如何让Python爬虫在遇到异常时继续运行
    概述在数据收集和数据挖掘中,爬虫技术是一项关键技能。然而,爬虫在运行过程中不可避免地会遇到各种异常情况,如网络超时、目标网站变化、数据格式不一致等。如果不加以处理,这些异常可能会导致爬虫程序中断,影响数据采集效率和完整性。本文将概述如何使用Python编写一个健壮的爬......