抛出异常用throw关键字同时只能抛出一个异常。抛出异常的时候有两种选择  直接try-catch抓取还有就是底层不解决异常,底层往上抛,在顶层解决异常,异常在底层表现不容易被顶层发现

java中通过throws声明某个方法抛出的各种异常,可以同时声明多个异常,用逗号隔开。声明异常只是表明有可能会有异常抛出。

public class CeShi{//声明异常类型  在此方法中不需要立马抓取  声明以后会让 上一层抓取public void cc() throws NullPointerException {//抛出异常   手动抛出  throw new NullPointerException("这是一个异常");}public static void main(String[] args) {CeShi c = new CeShi();//抓取异常try {c.cc();//显示异常} catch (Exception e) {e.printStackTrace();}  }
}

Throwable是异常Exception和错误Error的父类

Error是仅靠程序本身无法恢复的严重错误

Exception是由java应用程序抛出和处理的非严重错误。分为checkedException和RuntimeException。

CheckedException属于程序必须马上处理的异常 过不了编译

RuntimeException是运行时异常不要求程序马上处理且可以通过编译。

五种常见运行时异常:

NullPointerException                                                    空指针异常

ArithmeticException                                                      除零异常(零不能做除数)

ArrayIndexOutOfBoundsException       数组越界异常

ClassCastException       构造方法异常

RuntimeException       运行时异常

自定义异常

何时需要自定义异常?

当JDK中的异常类型不能满足程序的需要时,可以自定义异常。(一般自定的时候都是需要异常帮程序做一些事情的时候)

1、定义一个异常2、编写构造方法继承父类的实现3、实例化自定义异常类型4、使用throw抛出

自定义异常的情况在一些项目中会用到很多 一般继承的时候都会选择Exception和RuntimeException

//RuntimeException   运行时异常
public class MyException extends RuntimeException{//自定义异常public MyException(int string) {}public MyException(){System.out.println("这是我的异常");}public MyException(String i){System.out.println("这是我的异常");}}

抛出异常及声明异常 自己定义一个异常相关推荐

  1. python中exception类的_Python自定义一个异常类的方法

    如何实现自定义一个异常 python内置了许多异常类,为编写代码划定红线,才使调试代码时能及时发现错误.那么我们编写一个模块也可以为使用此模块者划定红线,来约束使用者可用哪些数据,这就需要自定义异常类 ...

  2. Java:异常的概念及分类、异常的处理、异常抛出及自定义异常

    异常概念 异常分类   Java异常处理机制 try ...catch...finally throw和throws 自定义异常 一.异常的概念         什么是异常?             ...

  3. kotlin协程硬核解读(5. Java异常本质协程异常传播取消和异常处理机制)

    版权声明:本文为openXu原创文章[openXu的博客],未经博主允许不得以任何形式转载 文章目录 1. 异常的本质 1.1 操作系统.程序.JVM.进程.线程 1.2 异常方法调用栈 1.3 ja ...

  4. 异常(什么是异常、异常的体系结构、优雅的异常处理、异常信息的分析与程序调试、自定义异常)

    (一) 什么是异常(程序没有语法错误, 可能产生的运行时错误) 比如你使用java程序开发了一个计算器,可以让用户进行计算,但是在计算除法的过程中(程序运行过程中),用户把除数设为0, 这时我们的程序 ...

  5. python assertionerror是什么异常_Python 断言和异常

    Python 断言和异常 Python断言 断言是一种理智检查,当程序的测试完成,可以将其打开或关闭.断言的最简单方法就是把它比作raise-if语句(或更加准确,raise-if-not声明).一个 ...

  6. *1.设计一个异常类表示对负数求平方根的错误,在类Test的main方法中,* 从键盘中输入一个数字,若输入的数不小于0,则输出该数的平方根(用Math.sprt());* 若小于0,则抛出自定义

    /* *1.设计一个异常类表示对负数求平方根的错误,在类Test的main方法中, * 从键盘中输入一个数字,若输入的数不小于0,则输出该数的平方根(用Math.sprt()): * 若小于0,则抛出 ...

  7. java中在方法体内抛出异常_Java异常处理中___用于方法体内,抛出一个异常对象。...

    Java异常处理中___用于方法体内,抛出一个异常对象. 答: throw; 智慧职教: 运输高致病性动物病原微生物菌(毒)种或者样本的,与内包装要求错误的是 答:E.主容器表面标注"高致病 ...

  8. Python异常捕获和抛出-对方不想和你说话并向你抛出了一个异常

    文章目录 异常信息 捕获异常 多重异常处理 抛出异常 内置异常类型 自定义异常类型 异常信息 Python使用异常类来管理异常信息.当发生异常的时候,程序会抛出一个异常信息,自动根据代码的层次查找异常 ...

  9. 【C++ 语言】异常 ( 抛出字符串异常 | 抛出异常对象 | 抛出任意对象 | 抛出自定义异常 )

    文章目录 I 异常处理 II 字符串异常 III 异常对象 IV 抛出任意类型对象 V 自定义异常 VI 异常相关代码 I 异常处理 1. 异常处理 : 使用 " try{}catch(){ ...

最新文章

  1. C++中explicit关键字的作用
  2. 每天一点点之vue框架开发 - axios解决跨越问题
  3. 【Android】关于Android控件EditText的属性InputType的一些经验
  4. python面试题之Python支持什么数据类型?
  5. 登录时 按Enter 进入登录界面 或者下一行
  6. Net中的AOP系列之《方法执行前后——边界切面》
  7. 17.Mac Ctags 使用
  8. python写web界面读取txt_web端自动化——Python读取txt文件、csv文件、xml文件
  9. 下载yaml appium
  10. jsp内置对象request
  11. 51单片机控制蜂鸣器播放《梧桐树》
  12. 银河麒麟服务器操作系统 V10 SP1 安装教程
  13. 安装webpack powershell出现 Set-ExecutionPolicy : 对注册表项“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell
  14. Android Studio基础输入文本框EditText
  15. js表格隔行变色案例
  16. sentinel只有实时监控不显示
  17. android的json数据解析,Android数据解析-JSON解析
  18. PHP时间戳与日期的相互转换
  19. Power BI 2021日历表DAX代码
  20. 自动驾驶 9-1: (线性)卡尔曼滤波器The (Linear) Kalman Filter

热门文章

  1. 字符串长度 与数组长度
  2. ULONG_PTR与ULONG
  3. php中左移和右移,c语言左移和右移的示例详解
  4. 实现表格隔行变色的方法
  5. Android Studio Template模板 制作模板
  6. python 调用Google Translate API 翻译
  7. Linux-hexdump命令调试event驱动—详解(13)
  8. 国际标准ISO/IEC 30144: 2020在智能变电站辅助监测中的应用研究
  9. PDF文档翻译中文的方法
  10. 2023年湖南中专单招报名流程