抛出异常及声明异常 自己定义一个异常
抛出异常用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("这是我的异常");}}
抛出异常及声明异常 自己定义一个异常相关推荐
- python中exception类的_Python自定义一个异常类的方法
如何实现自定义一个异常 python内置了许多异常类,为编写代码划定红线,才使调试代码时能及时发现错误.那么我们编写一个模块也可以为使用此模块者划定红线,来约束使用者可用哪些数据,这就需要自定义异常类 ...
- Java:异常的概念及分类、异常的处理、异常抛出及自定义异常
异常概念 异常分类 Java异常处理机制 try ...catch...finally throw和throws 自定义异常 一.异常的概念 什么是异常? ...
- kotlin协程硬核解读(5. Java异常本质协程异常传播取消和异常处理机制)
版权声明:本文为openXu原创文章[openXu的博客],未经博主允许不得以任何形式转载 文章目录 1. 异常的本质 1.1 操作系统.程序.JVM.进程.线程 1.2 异常方法调用栈 1.3 ja ...
- 异常(什么是异常、异常的体系结构、优雅的异常处理、异常信息的分析与程序调试、自定义异常)
(一) 什么是异常(程序没有语法错误, 可能产生的运行时错误) 比如你使用java程序开发了一个计算器,可以让用户进行计算,但是在计算除法的过程中(程序运行过程中),用户把除数设为0, 这时我们的程序 ...
- python assertionerror是什么异常_Python 断言和异常
Python 断言和异常 Python断言 断言是一种理智检查,当程序的测试完成,可以将其打开或关闭.断言的最简单方法就是把它比作raise-if语句(或更加准确,raise-if-not声明).一个 ...
- *1.设计一个异常类表示对负数求平方根的错误,在类Test的main方法中,* 从键盘中输入一个数字,若输入的数不小于0,则输出该数的平方根(用Math.sprt());* 若小于0,则抛出自定义
/* *1.设计一个异常类表示对负数求平方根的错误,在类Test的main方法中, * 从键盘中输入一个数字,若输入的数不小于0,则输出该数的平方根(用Math.sprt()): * 若小于0,则抛出 ...
- java中在方法体内抛出异常_Java异常处理中___用于方法体内,抛出一个异常对象。...
Java异常处理中___用于方法体内,抛出一个异常对象. 答: throw; 智慧职教: 运输高致病性动物病原微生物菌(毒)种或者样本的,与内包装要求错误的是 答:E.主容器表面标注"高致病 ...
- Python异常捕获和抛出-对方不想和你说话并向你抛出了一个异常
文章目录 异常信息 捕获异常 多重异常处理 抛出异常 内置异常类型 自定义异常类型 异常信息 Python使用异常类来管理异常信息.当发生异常的时候,程序会抛出一个异常信息,自动根据代码的层次查找异常 ...
- 【C++ 语言】异常 ( 抛出字符串异常 | 抛出异常对象 | 抛出任意对象 | 抛出自定义异常 )
文章目录 I 异常处理 II 字符串异常 III 异常对象 IV 抛出任意类型对象 V 自定义异常 VI 异常相关代码 I 异常处理 1. 异常处理 : 使用 " try{}catch(){ ...
最新文章
- C++中explicit关键字的作用
- 每天一点点之vue框架开发 - axios解决跨越问题
- 【Android】关于Android控件EditText的属性InputType的一些经验
- python面试题之Python支持什么数据类型?
- 登录时 按Enter 进入登录界面 或者下一行
- Net中的AOP系列之《方法执行前后——边界切面》
- 17.Mac Ctags 使用
- python写web界面读取txt_web端自动化——Python读取txt文件、csv文件、xml文件
- 下载yaml appium
- jsp内置对象request
- 51单片机控制蜂鸣器播放《梧桐树》
- 银河麒麟服务器操作系统 V10 SP1 安装教程
- 安装webpack powershell出现 Set-ExecutionPolicy : 对注册表项“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell
- Android Studio基础输入文本框EditText
- js表格隔行变色案例
- sentinel只有实时监控不显示
- android的json数据解析,Android数据解析-JSON解析
- PHP时间戳与日期的相互转换
- Power BI 2021日历表DAX代码
- 自动驾驶 9-1: (线性)卡尔曼滤波器The (Linear) Kalman Filter