32.Java基础_异常
JVM虚拟机默认异常处理机制
Java异常处理:
1.try...catch...
2.throw
1.try...catch...
public class test{
public static void main(String[] args) {
System.out.println("开始");
method();
System.out.println("结束");
}
public static void method(){
int[] arr={1,2,3};
try {
System.out.println(arr[3]); //访问超出索引
}
catch (ArrayIndexOutOfBoundsException e){
e.printStackTrace();
}
}
}
/*
开始
java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
at pack2.test.method(test.java:13)
at pack2.test.main(test.java:7)
结束
*/
Exception异常类常用方法
编译时异常和运行时异常
2.throws
throws将异常抛出去,让try_catch_来处理
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class test{
public static void main(String[] args) {
System.out.println("开始");
try {
method();
}
catch (ArrayIndexOutOfBoundsException e){
e.printStackTrace();
}
try {
method2();
}
catch (ParseException e){
e.printStackTrace();
}
System.out.println("结束");
}
//编译时异常,不加throws ParseException不能编译
public static void method2() throws ParseException {
String s="2048-08-09";
SimpleDateFormat sdf=new SimpleDateFormat("yyy-MM-dd");
Date d=sdf.parse(s);
System.out.println(d);
}
//运行时异常,不加throws ArrayIndexOutOfBoundsException可以编译
public static void method() throws ArrayIndexOutOfBoundsException{
int[] arr={1,2,3};
System.out.println(arr[3]);
}
}
/*
开始
java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
at pack2.test.method(test.java:36)
at pack2.test.main(test.java:13)
Sun Aug 09 00:00:00 CST 2048
结束
*/
自定义异常
public class ScoreException extends Exception{
public ScoreException() {}
public ScoreException(String message) {
super(message);
}
} public class Teacher{
public void checkScore(int score) throws ScoreException{
if(score<0||score>100){
throw new ScoreException(); //抛出异常对象
}
else {
System.out.println("分数正常");
}
}
} import java.util.Scanner;
public class test{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入分数:");
int score=sc.nextInt();
Teacher t=new Teacher();
try {
t.checkScore(score);
}
catch (ScoreException e){
e.printStackTrace();
}
}
}
32.Java基础_异常的更多相关文章
- java基础之异常 · fossi
在开发中,异常处理是一个不可绕开的话题,我们对于异常的处理已经非常熟练了,对于异常本身的概念.用法等不再赘述了,直接结合面试问题来加深对异常的理解吧. Throwable 可以用来表示任何可以作为异常 ...
- 【java基础之异常】死了都要try,不淋漓尽致地catch我不痛快!
目录 1.异常 1.1 异常概念 1.2 异常体系 1.3 异常分类 1.4 异常的产生过程解析 2. 异常的处理 2.1 抛出异常throw 2.2 Objects非空判断 2.3 声明异常thro ...
- 【java基础之异常】死了都要try
目录 1.异常 1.1 异常概念 1.2 异常体系 1.3 异常分类 1.4 异常的产生过程解析 2. 异常的处理 2.1 抛出异常throw 2.2 Objects非空判断 2.3 声明异常thro ...
- Java基础之异常
1.异常的概念 异常:程序在运行时出现的不正常情况,也可以说是出现的问题: Java中的异常:出现的不正常的问题也是一类事物,这类事物有一些共性的东西,比如有名称,有产生的原因等,将这些共性的部分抽取 ...
- java_基础_异常
之前只是了解的最基础的异常形式,没有过多的深入 今天因为一些原因了解了一下 下面来说说异常的几种形式 1.try-catch语句块 代码示例 class test{ public static voi ...
- JAVA基础知识|异常
一.基础知识 处理异常,java提供了一个优秀的解决方案:异常处理机制. java把异常当作对象来处理,所有的异常都是由Throwable继承而来,但在下一层立即分解为两个分支:Error和Excep ...
- Java基础笔记-异常
Java中的异常机制: Throwable类是 Java 语言中所有错误或异常的超类.主要包括两个子类: Error和Exception. 一般中要处理的异常是Exception. Java中最常见的 ...
- 黑马程序员----java基础:异常
dff ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 经常写程序的人对try...catch...finally语句肯定是不陌生的了.但是好多 ...
- java基础(21):异常
1. 异常 什么是异常?Java代码在运行时期发生的问题就是异常. 在Java中,把异常信息封装成了一个类.当出现了问题时,就会创建异常类对象并抛出异常相关的信息(如异常出现的位置.原因等). 1.1 ...
随机推荐
- ssh远程管理服务的介绍
第6章 远程管理的介绍 6.1 服务的概念介绍 6.1.1 ssh和telnet服务的相同和不同点 ssh: 服务端口号为22 在数据传输的时候是加密的传输 一般在互联网中使用,可以使用root账号进 ...
- [Java并发] AQS抽象队列同步器源码解析--锁获取过程
要深入了解java并发知识,AbstractQueuedSynchronizer(AQS)是必须要拿出来深入学习的,AQS可以说是贯穿了整个JUC并发包,例如ReentrantLock,CountDo ...
- 合成语音 TTS
弄了一天的合成语音 感觉好难受,明明这么简单的事情非弄得要这么复杂.... 引入命名空间 或者 导入命名空间 代码: using System; using System.Collections.Ge ...
- 2019年Dubbo你掌握的如何?快看看这30道高频面试题!
前言 Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式 ...
- VS2019 开发Django(十)------JavaScript与Django的数据交互
导航:VS2019开发Django系列 这一篇介绍如何使用BootStrap Table这个组件来绑定渲染数据, 1)先来看一下BootStrap Table是怎么绑定数据的. 通过数据属性 给定da ...
- Linux中的 date 使用
01. 日期格式字符串列表 %H 小时(以00-23来表示). %I 小时(以01-12来表示). %K 小时(以0-23来表示). %l 小时(以0-12来表示). %M 分钟(以00-59来表示) ...
- python pyenv与 pyenv-virtualenv配置
1.安装 pyenv 说明:本文的所有安装都严格遵守官方文档,与官方文档完全保持一致. git 地址:https://github.com/pyenv/pyenv 在你的终端中执行如下命令,安全无毒, ...
- 在WPF中开启摄像头扫描二维码(Media+Zxing)
近两天项目中需要添加一个功能,是根据摄像头来读取二维码信息,然后根据读出来的信息来和数据库中进行对比显示数据. 选择技术Zxing.WPFMediaKit.基本的原理就是让WPFmediaKit来对摄 ...
- 设备数据通过Azure Functions 推送到 Power BI 数据大屏进行展示(2.Azure Functions实战)
本案例适用于开发者入门理解Azure Functions/ IoT Hub / Service Bus / Power BI等几款产品. 主要实战的内容为: 将设备遥测数据上传到物联网中心, 将遥测数 ...
- Winform中实现仿XP系统的任务栏菜单效果(附代码下载)
场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建一个Fo ...