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

1.5 异常

什么是异常

异常就是在程序运行期间,因为某些原因导致程序出现了错误的情况。

异常封装了三个重要信息: 类型,信息,行号

异常的简单继承结构

Throwable

        |- Error 系统级别的错误,无法处理,只能停止运行

        |- Exception

                |- RuntimeException

                        |- NullPointerException 空指针异常

                        |- ArrayIndexOutOfBoundsException 下标越界

                        |- ClassCastException 类型转换异常

                        |- ....

                |- 其他Exception

                        |- ....

异常出现后会怎么样?

在默认情况下如果异常是RuntimeException或其子类异常都会自动向上抛,抛给调用该方法的方法,如果这个方法还不处理就继续向上抛,直到抛给虚拟机,停止运行。

如果不是RuntimeException呢? 需要手动处理(捕获或抛出)

捕获异常

try{

        // 可能出现异常的代码

}catch(RuntimeException e){

        // 出现RuntimeException异常后会跳到这里

}finally{

        // 无论如何,这一块都会执行

}

设置抛出管道

当你不想在当前方法中处理异常怎么办呢? 此时就要在方法上设置抛出管道,让你的异常被抛出去,抛给调用该方法的地方。

public void f()throws ParseException{SimpleDateFormat sdf = new SimpleDateFormat(yy/M/D);sdf.parse("98/7/10");    //这里可能会出现ParseException
}

* 所有的方法都默认有一个异常管道,RuntimeException,所以如果这个异常是RunTimeException或其子类都不需要显示的声明管道。

异常包装

子类中重写父类方法时,子类的异常抛出通道数量不可以大于父类的异常通道数量

假设,我们父类的方法中没有写异常通道,但是在子类重写方法时想要抛出异常,怎么办?

        将所有的异常都包装成RuntimeException

@Override
public void reFunction(){SimpleDateFormat sdf = new SimpleDateFormat("yy/M/d");try{sdf.parse("98/7/15");}catch(ParseException e){// 将异常封装为RuntimeExceptionthrow new RuntimeException(e);}
}

throw

手动抛出一个异常,用处就是当违规操作时可以抛出一个异常来告知。

throw 异常对象;

自定义异常

为什么要自定义异常

        因为现有的异常类型不足以满足我们所有的需求

如何自定义异常

        只需要新建一个类继承Exception或RunTimeException. 他们的区别就是一个可以被默认抛出一个不可以。

        而定义异常最重要的其实就是类名(要做到看到类名就能知道错误的意思)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-35328.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

[HCIP] 10 - IGMP 协议

一、IGMP 介绍 二、组播组管理协议工作机制:...

海大09-10.3题:编程计算并输出1*2+3*4+5*6+...+(n-1)*n的值,其中,n的值由键盘输入。(8分)

题目 本题是中国海洋大学《C语言程序设计》2009-2010年第一学期编程题第3题。 题目: 编程计算并输出12345*6…(n-1)*n的值,其中,n的值由键盘输入。(8分) 以下是本篇文章正文内容,欢…...

DEDE织梦如何做中英文多语言站

说道中英文站,是很多用户想用dedecms织梦程序做多语言站,下面网分享下做中英文多语言版本的站点如何操作,希望能帮助到大家。 一、首先在后台建栏目,有三点需要注意 1.需要做几种语言就加几个大的栏目。 2.栏目“常规选项”的文…...

2021-08-23 linux的部分基本命令与vi/vim的部分命令

linux的基本命令 文章目录linux的基本命令前言一、APT(Advanced Packing Tool)1.工作原理2.修改源3.几个常用的命令二、vi/vim一. vi/vim 模式1.vi有两种工作模式二. vi/vim 命令1.vim:退出命令2.vim删除与修改命令3.vim拷贝与粘贴命令4.vim 撤销命令5.vim 搜索命令6.vim 替换命…...

题解报告:m10

找abc(add) 问题描述: 有两个正整数集合{An},{Bm},其中整数值均不超过106。输出正整数x,判断是否存在A中的一个数a与B中的一个数b的和为x。 输入格式: 第一行为正整数t(≤5),表示数据组数;每组数据中&a…...

VISSIM二次开发(Python)大作业总结2

VISSIM二次开发(Python)&大作业总结2 写在前面 前一小节已经概括了基本所有这次使用的二次开发的知识,在这一小节,我们主要介绍本文对.att文件的读取和绘图以及分析的工作。 在这一部分我们将展开对这一部分的介绍&#xf…...

sql中grant授权语句revoke撤销语句

MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利 grant select on testdb.*to common_user%; grant insert on testdb.*to common_user%; gran…...

QT如何设置小程序不被重复启动多个该程序

添加互斥锁 判断 如果进程有该程序&#xff0c;则return不运行 #if defined Q_OS_WIN32 //for win #include <windows.h> bool checkOnly() {// 创建互斥量HANDLE m_hMutex CreateMutex(NULL, FALSE, L"fortest_abc123" );// 检查错误代码if (GetLas…...

jquery--动画效果

show() : 显示隐藏的匹配元素。 这个就是 show( speed, [callback] ) 无动画的版本。如果选择的元素是可见的&#xff0c;这个方法将不会改变任何东西。无论这个元素是通过hide()方法隐藏的还是在CSS里设置了display:none;&#xff0c;这个方法都将有效。 hide()&#xff1a…...

SVN错误:Previous operation has not finished;run “cleanup“ if it was interrupted.

问题分析&#xff1a; SVN报错以上错误&#xff0c;可能是修改本地的文件之前没有update&#xff0c;导致commit的时候产生冲突&#xff0c;致使SVN崩溃&#xff0c;陷入clean up 死循环。 svn 的 operation是存放在 "work queue" 里的。而 "work queue"…...

【力扣1044. 最长重复子串】二分查找+Rabin-Karp 字符串编码、后缀数组(Python3)

题目描述 https://leetcode-cn.com/problems/longest-duplicate-substring/ 思路题解 方法一&#xff1a;二分查找Rabin-Karp 字符串编码 https://leetcode-cn.com/problems/longest-duplicate-substring/solution/zui-chang-zhong-fu-zi-chuan-by-leetcode/ class Solut…...

政产学研各界推动软件和信息技术服务业增速发展

​日前&#xff0c;工业和信息化部发布的最新数据显示&#xff0c;上半年&#xff0c;我国软件和信息技术服务业业务收入呈加快增长态势&#xff0c;完成软件业务收入44198亿元&#xff0c;同比增长23.2%&#xff0c;近两年复合增长率为14.7%。 从利润水平来看&#xff0c;上半…...

java16语言新特性

新语言特性 JEP 394&#xff0c;适用于 instanceof 的模式匹配模式匹配&#xff08;Pattern Matching&#xff09;最早在 Java 14 中作为预览特性引入&#xff0c;在 Java 15 中还是预览特性。模式匹配通过对 instacneof 运算符进行模式匹配来增强 Java 编程语言。模式匹配使程…...

JavaScript-DOM、BOM对象

DOM对象 功能&#xff1a;控制html文档的内容 1、获取页面标签(元素)对象&#xff1a;Element 方法&#xff1a;document.getElementById(“id值”)&#xff1a;通过元素id获取元素对象、 2、操作Element对象&#xff1a; 1&#xff09;. 修改属性值&#xff1a; 明确获取的对…...

Vue 路由导航

...

Java学习五阶段-RabbitMQ-SpringBoot整合

文章目录 新建项目pom.xmlapplication.yml主程序 简单模式主程序生产者消费者测试类 工作模式主程序生产者消费者测试类 ack模式设置 ack 模式手动执行确认操作 抓取数量发布和订阅模式主程序生产者消费者测试类 路由模式主程序生产者消费者测试类 主题模式主程序生产者消费者测…...

flink 小技巧记录

一、背景 flink做etl、大宽表、统计过程中有些小细节可以尝试优化&#xff0c;这里简单记录下&#xff1a; 二、场景 2.1 允许延迟的数据同步。比如线上订单库binlog同步到查询库&#xff0c;或者简单处理进入分析库&#xff0c;让分析师直接查询明细. 如果吞吐要求大一点&…...

带你了解DDoS攻击的原理,让你轻松学会DDoS攻击原理及防护措施

DDoS攻击原理是什么? 随着网络时代的到来&#xff0c;网络安全变得越来越重要。在互联网的安全领域&#xff0c;DDoS(Distributed DenialofService)攻击技术因为它的隐蔽性&#xff0c;高效性一直是网络攻击者最青睐的攻击方式&#xff0c;它严重威胁着互联网的安全。接下来的…...

小区物业管理系统-物业管理员页面

小区物业管理系统-物业管理员页面 主页面 添加业主 Public Class PropertyManager_Pro_insertbug:插入&#xff1a;若删除一个&#xff0c;用count就会插入相同的&#xff0c;导致插入错误Dim proprietor As New ProprietorPublic Sub New(s As String)InitializeComponent()E…...

js常见问题总结-DOM节点增删改查

DOM节点的增删改查 文章目录DOM节点的增删改查1.查找节点2.增加节点2.1 创建节点createElement()&#xff1a;创建一个dom节点2.2 父节点插入子节点2.3 同级插入节点3.修改节点3.1 替换节点3.2 clone节点4.删除节点4.1删除节点5.常见操作实现问题综合案例1.查找节点 getElemen…...

使用朴素贝叶斯过滤垃圾邮件

示例&#xff1a;使用朴素贝叶斯对电子邮件进行分类(1) 收集数据&#xff1a;提供文本文件。(2) 准备数据&#xff1a;将文本文件解析成词条向量。 (3) 分析数据&#xff1a;检查词条确保解析的正确性。(4) 训练算法&#xff1a;使用我们之前建立的trainNB0()函数。(5) 测试算法…...

链表反转。

举个例子来分析一下如何实现链表的反转。 链表示例&#xff1a;9—>6—>8—>7—>1—>null。 1&#xff09;首先定义两个指针cur、pre分别指向链表头和链表尾。 2&#xff09;定义一个临时指针&#xff0c;指向cur.next。 3&#xff09;修改cur指针的指向&#x…...

day01_java常识丶环境搭建丶入门程序

Java语言发展历史 Java诞生于SUN&#xff08;Stanford University Network&#xff09;&#xff0c;09年SUN被Oracle&#xff08;甲骨文&#xff09;收购。Java之父是詹姆斯.高斯林(James Gosling)。1996年发布JDK1.0版。 目前最使用最多的版本是Java8。 ​ Java技术体系平台 …...

C++类的讲解(一)(超详细)

C类的讲解 1、面向对象和类的介绍 1&#xff09;面向对象 C语言使用面向过程的编程方式&#xff0c;而C则增加了面向对象的编程方式。 面向过程&#xff1a;分析出解决问题所需要的步骤&#xff0c;然后用函数把这些步骤一步一步实现&#xff0c;使用的时候一个一个依次调用就…...

KNN算法基础教学

目录 1、KNN算法概述 2、什么是knn算法 3、算法原理解析 3.1、通用步骤 3.2、k的取值对预测结果的影响 3.3、k的选取 4、实战应用 &#xff08;癌症检测数据&#xff09; 完整代码&#xff1a; 1、KNN算法概述 KNN可以说是最简单的分类算法之一&#xff0c;同时&#xff0…...

Google Earth Engine(GEE)——容易犯的错误3(请在select之前使用filter )和(用updateMask()代替mask())、组合reducer的使用!

首先过滤再select() 通常&#xff0c;在对集合执行任何其他操作之前&#xff0c;按时间、位置和/或元数据过滤输入集合。在选择性较少的过滤器之前应用更多选择性过滤器。空间和/或时间过滤器通常更具选择性。例如&#xff0c;请注意select()和之前filter()应用&#xff1a; m…...

elasticsearch7 2021.8.24版本可用 ---head插件总是健康状态未连接

特别要注意跨域和discovery.zen.ping.unicast.hosts 要不然&#xff0c;head插件总是健康状态未连接 1.主节点配置文件 [rootes_master ~]# cat /home/wx/elasticsearch-7.9.0/config/elasticsearch.yml cluster.name: ELK-Cluster node.name: elk-node1 # 开启跨域访问支持&…...

【DCTWVRP】遗传算法求解带容量+距离+时间窗的车辆路径规划问题【Matlab 1211期】

一、VRP简介 1 VRP基本原理 车辆路径规划问题(Vehicle Routing Problem&#xff0c;VRP)是运筹学里重要的研究问题之一。VRP关注有一个供货商与K个销售点的路径规划的情况&#xff0c;可以简述为&#xff1a;对一系列发货点和收货点&#xff0c;组织调用一定的车辆&#xff0c…...

post与get请求的区别以及转发和重定向的区别

post 与get请求的额区别 比较角度GETPOST请求的数据是否在url上显示会 url?参数名参数值&#xff08;不安全&#xff09;不会 在Form Data中&#xff08;安全&#xff09;是否是表单的默认提交方式是不是执行效率高低&#xff08;相对于GET&#xff09;提交数据大小最大是102…...

在centos的docker里安装jupyter并开放端口

安装 jupyter pip install jupyter编写脚本运行&#xff1a; #!/bin/bash # run_jupyter.sh jupyter notebook --no-browser --ip 0.0.0.0 --port 8888 --allow-root > .log 2>&1 &可以把这个脚本加入开机运行 docker 端口映射 先把安装好jupyter的容器提交 …...

【Qt记录】Windows 窗口层级(Z-order)

功能&#xff1a;软件有一个提示弹窗&#xff0c;希望让他永远在最上面&#xff0c;保证该窗口在任何情况下不会被遮挡。 由上面的问题就查找对应的api找到了SetWindowPos()。 在说这个函数之前&#xff0c;先了解以下概念&#xff1a; Z-order&#xff08;Z顺序&#xff09…...

c语言星空程序,C语言C 编程学习程序员大神!绘制神奇代码之星空动态

CC语言C 编程学习程序员大神&#xff01;绘制神奇代码之星空动态C语言是面向过程的&#xff0c;而C&#xff0b;&#xff0b;是面向对象的C和C的区别&#xff1a;C是一个结构化语言&#xff0c;它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程&#xff0…...

HTML+js实现美丽的动态星空

程序如下&#xff1a; <!doctype html> <html> <head><meta charset"utf-8"><title>旋转的星空</title><style type"text/css">body{background: black;padding: 0;margin: 0; overflow:hidden}.header{margin…...

MATLAB 作动态图

MATLAB 作动态图MATLAB 作动态图动态线图生成数据作动态图方法一方法二动态点图确定参数生成数据并创建函数句柄迭代以形成动态效果实际应用输出效果MATLAB 作动态图 本文谨记录笔者探索MATLAB作动态图后的心得&#xff0c;希望能帮到大家 动态线图 生成数据 首先打开MATLA…...

fiash星空动画制作_Flash8实现动态星空的通用方法

推荐&#xff1a;Flash8制作图片由模糊到清楚效果以前记得是在哪个网站看到这个效果&#xff0c;但是怎么找也找不到了&#xff01;所以给大家讲解一下如何制作。主要是讲解Flash8的blur滤镜&#xff0c;利用Actonscript调用blur滤镜实现由模糊你想做星空吗&#xff1f;只需要把…...

C语言不用graphics的星空,c语言实现动态星空.docx

集团文件版本号&#xff1a;(M928-T898-M248-WU2669-I2896-DQ586-M1988)集团文件版本号&#xff1a;(M928-T898-M248-WU2669-I2896-DQ586-M1988)C语言实现动态星空// 编译环境&#xff1a;Visual C 6.0&#xff0c;EasyX 2014冬至版// e a s y x . c n//#include #include #inc…...

php星空背景动态,纯CSS3炫酷3D星空动画特效

简要教程这是一款使用纯CSS3制作的炫酷3D星空动画特效。该特效中&#xff0c;以飞船向前快速移动为视角&#xff0c;所有的星星都快速的变大并向后移动&#xff0c;效果非常逼真。使用方法HTML结构该3D星空特效只使用一个元素作为容器即可。CSS样式该3D星空特效中的星星使用sta…...

vue实现动态星空效果

B站地址&#xff1a;https://www.bilibili.com/video/BV1XJ411a7Mf/?spm_id_from333.788.videocard.18 在此之前&#xff0c;要先安装 less less-loader webpack.base.conf.js {test: /\.less$/,use: [{loader: "style-loader"}, {loader: "css-loader"…...

canvas实现星空动态背景

星空动态闪烁背景&#xff0c;用canvas实现 实现效果 脚本代码 // 实现星星背景 if($("#bgpageContent").length0){$("#pageContent canvas").remove();var stars"<canvas idcanvas></canvas>"$("#pageContent").prepe…...

java闪烁的星空_PS制作出闪烁的星空gif动态图

今天小编为大家分享PS制作出闪烁的星空gif动态图方法&#xff0c;教程很不错&#xff0c;很值得大家学习&#xff0c;推荐到脚本之家&#xff0c;一起来学习吧&#xff01;方法/步骤1、打开Photoshop软件之后&#xff0c;新建一个像素为800*600的画布&#xff0c;然后用油漆桶工…...

HTML 动态星空

1.程序代码&#xff1a; <!doctype html> <html> <head><meta charset"utf-8"><title>旋转的星空</title><style type"text/css">body{background: black;padding: 0;margin: 0; overflow:hidden}.header{marg…...

Python爬虫练习之二:抓取游民星空搞笑动态图文章链接

一、分析网站 游民星空的趣图网站为&#xff1a;http://www.gamersky.com/ent/qw/ 点击下一页可以拉取到数据&#xff0c;但是网址未发生变化&#xff0c;查看Network标签&#xff0c;可以看到实际上进行了ajax请求&#xff0c; 可以看到url地址是另外一个&#xff0c;而且get…...

矩阵计算与AI革命:20年前《黑客帝国》的预言成真

还记得1999年的第一部《Matrix》电影么&#xff1f;当时有很多人都不理解为什么这部电影取名为“Matrix”&#xff08;可翻译为矩阵&#xff0c;也可翻译为母体或孕育生命的地方&#xff09;&#xff0c;后来这部电影被翻译为《黑客帝国》也令人非常费解。无论是“矩阵”还是“…...

ACM训练方案poj题目分类

ACM online Judge 中国&#xff1a; 浙江大学&#xff08;ZJU&#xff09;&#xff1a;http://acm.zju.edu.cn/ 北京大学&#xff08;PKU&#xff09;&#xff1a;http://acm.pku.edu.cn/JudgeOnline/ 杭州电子科技大学(HDU)&#xff1a;http://acm.hdu.edu.cn/ 中国科技大学…...

密码算法原理与分析:RSA安全与秘钥基础设施

本文转自网络文章&#xff0c;内容均为非盈利&#xff0c;版权归原作者所有。 转载此文章仅为个人收藏&#xff0c;分享知识&#xff0c;如有侵权&#xff0c;马上删除。 原文作者&#xff1a;evilpan 原文地址&#xff1a;RSA安全与秘钥基础设施 目录 前言 RSA原理 秘钥构成…...

ACM锻炼方案-POJ题目分类

ACM训练方案-POJ题目分类 ACM online Judge 中国&#xff1a; 浙江大学&#xff08;ZJU&#xff09;&#xff1a;http://acm.zju.edu.cn/ 北京大学&#xff08;PKU&#xff09;&#xff1a;http://acm.pku.edu.cn/JudgeOnline/ 杭州电子科技大学(HDU)&#xff1a;http://acm.h…...

ACM训练方案

ACM online Judge 中国&#xff1a; 浙江大学&#xff08;ZJU&#xff09;&#xff1a;http://acm.zju.edu.cn/ 北京大学&#xff08;PKU&#xff09;&#xff1a;http://acm.pku.edu.cn/JudgeOnline/ 杭州电子科技大学(HDU)&#xff1a;http://acm.hdu.edu.cn/ 中国科技大学…...

领域应用 | 2020 年中国知识图谱行业分析报告

本文转载自公众号&#xff1a;艾瑞咨询。 核心摘要&#xff1a;人工智能本质是解决生产力升级的问题&#xff0c;人类生产力可以归类为知识生产力和劳动生产力&#xff0c;人工智能走入产业后&#xff0c;可以分为感知智能、认知智能和行为智能&#xff0c;后两者更与生产力相…...

数据分析概率及统计学基础

一.数据分析概述 1. 数据分析的概念 数据分析就是分析数据&#xff0c;从一大堆数据中提取你想要的信息。比较专业的回答&#xff1a;数据分析是有针对性的收集、加工、整理数据&#xff0c;并采用统计、挖掘技术分析和解释数据的科学与艺术。比较客观的回答&#xff1a;从行业…...

AI芯片最新格局分析

来源&#xff1a;中金公司&#xff0c;作者黄乐平、何枚与杨俊杰AI 芯片设计是人工智能产业链的重要一环。 自 2017 年 5 月以来&#xff0c;各 AI 芯片厂商的新品竞相发布&#xff0c;经过一年多的发展&#xff0c;各环节分工逐渐明显。 AI 芯片的应用场景不再局限于云端&…...