JAVA高级--异常处理概念和异常处理机制
什么是异常
程序运行的过程中发生的一些不正常事件
异常分类
Throwable
Error 错误
Exception
IOException
RuntimeException 编程错误 可以不用采用异常处理
java的异常通过两种机制来处理
捕获 try-catch-finally
try 监控 catch 处理 finally 总是执行
package com.date; import java.util.InputMismatchException;
import java.util.Scanner; public class TryDemo {
public static void main(String[] args) {
System.out.println("请输入一个数字");
Scanner input=new Scanner(System.in);
int a=input.nextInt();
int res=0;
try {
res=10/a;
}catch (Exception e) {
System.out.println(e.getMessage());
}finally {//释放资源,比如关闭打开的文件
System.out.println("结果为:"+res);
}
/*} catch (InputMismatchException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}catch (ArithmeticException e) {
System.out.println();
}*/ }
}
抛出 throw,throws
throw 手动抛出异常(弹出)
throws 声明方法抛出异常
package com.date;
public class throwDemo {
public static void main(String[] args) {
Bar bar=new Bar();
try {
bar.enter(15);
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
System.out.println("end");
}
}
class Bar{
public void enter(int age) throws IllegalArgumentException {
if(age<19) {
throw new IllegalArgumentException("年龄不合格");
}else {
System.out.println("欢迎");
}
}
}
自定义异常
必须从已有的异常类继承
Exception 必须用throws
package com.date;
public class zidingyiyichDemo {
public static void main(String[] args) {
Bar1 bar=new Bar1();
try {
bar.enter(18);
} catch (AgeLessThanEighteenException e) {
System.out.println(e.getMessage());
}
System.out.println("end");
}
}
class AgeLessThanEighteenException extends Exception{
private String message;//描述异常信息
public AgeLessThanEighteenException(String message) {
this.message = message;
}
@Override
public String getMessage() {
return message;
}
}
class Bar1{
public void enter(int age) throws AgeLessThanEighteenException {
if(age<19) {
throw new AgeLessThanEighteenException("年龄不合格");
}else {
System.out.println("欢迎");
}
}
}
JAVA高级--异常处理概念和异常处理机制的更多相关文章
- Java高级之虚拟机垃圾回收机制
博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved ! 区别于C语言手动回收,Java自动执行垃圾回收,但为了执行高效 ...
- Java高级之虚拟机加载机制
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 1.0版本:2016-05-21 SubClass!! 执行结果说明一个问题:子类调用父类变量的时候 ...
- Java web的几种异常处理 (转)
一.在servlet容器中处理异常 以下两种方式: 1. 在web.xml定义异常处理 如果没有在web的应用中作异常处理,那么异常就会抛给Servlet容器,应该说此时Servlet容器是处理异常 ...
- Java探索之旅(16)——异常处理
1.异常与异常处理 在<java编程思想>中这样定义 异常:阻止当前方法或作用域继续执行的问题.虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来 ...
- Java【第九篇】异常处理
异常概述 介绍 任何一种程序设计语言设计的程序在运行时都有可能出现错误,例如除数为0,数组下标越界,要读写的文件不存在等等.捕获错误最理想的是在编译期间,但有的错误只有在运行时才会发生.对于这些错误, ...
- 2017.10.28 针对Java Web应用中错误异常处理方法的运用
针对Java Web应用中错误异常处理方法的运用 在javaweb中其异常都需要对Checked Exception之下的Exception进行继承,并且有选择地对发生的错误和异常进行处理.Java同 ...
- java复习整理(六 异常处理)
一.异常简介 在 Java 中,所有的异常都有一个共同的祖先 Throwable(可抛出).Throwable 指定代码中可用异常传播机制通过 Java 应用程序传输的任何问题的共性. ...
- JAVA项目中常用的异常处理情况总结
JAVA项目中常用的异常知识点总结 1. java.lang.nullpointerexception这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用 ...
- Java基础(八)异常处理
一.异常 异常是指程序在运行过程产生的不正常情况.语法错误不算异常. 1.异常体系 Throwable:Java语言中所有错误或异常的超类:Throwable 类的子类有两个:1.Error:2.Ex ...
随机推荐
- 【DM642】H.264源代码在DM642上的移植
TI公司提供了用于C语言开发的CCS(Code Composer Studio),该平台包括了优化的ANSI编译器,使之可以使用C语言开发DSP程序.这种方法不仅使DSP开发的速度大大加快,而且DSP ...
- com.microsoft.sqlserver.jdbc.SQLServerException: 将截断字符串或二进制数据。
遇到这个错误 数据库表结构定义为:varchar(50) 实际插入数据的字符长度超过了50,会引发这种错误. 如果你是debug调试的. 或许你在 getSession().flush(); 上报 ...
- java锁_IO_NIO_AIO_BIO_GC_Jvm
如何保证线程安全,线程锁有哪些? 同步方法和同步代码块常见的锁:ReentrantLock与synchronized二者区别: (1) 线程A和B都要获取对象O的锁定,假设A获 ...
- Django-rest Framework(五)
把十大接口做完了才能更好的了解后面的视图类 1.(重点)二次封装Response;自定义APIResponse继承Response,重写 ____init____方法 from rest_framew ...
- qml获取实际渲染的字体
当设置qml的Text元素的字体时,如果系统中不存在设置的字体,qml会根据匹配算法自动选取系统中存在的一种字体.比如:设置font.family: "微软雅黑",但系统中根本没有 ...
- CSS3画图
众所周知,用CSS3的圆角.转换可以画出各种不同的形状,制作不同的图案,早些前先驱者已画出经典的叮当猫,iphone手机等展示CSS3的强大实力,趁最近有空我也对CSS3进行了一些实践,颇有收获. 用 ...
- 使用powerDesigner绘制类图
使用powerDesigner绘制类图 因为后面要理清楚spring中类与类之间关系,我们来看看如何使用powerDesigner绘制类图 你要去下载powerDesiger,一路下一步安装好 打开, ...
- Java数据结构和算法(八)--红黑树与2-3树
红黑树规则: 1.每个节点要么是红色,要么是黑色 2.根节点都是黑色节点 3.每个叶节点是黑色节点 3.每个红色节点的两个子节点都是黑色节点,反之,不做要求,换句话说就是不能有连续两个红色节点 4.从 ...
- bert 预训练模型路径
google的bert预训练模型: BERT-Large, Uncased (Whole Word Masking): 24-layer, 1024-hidden, 16-heads, 340M pa ...
- 关于dex 64K 引用限制
1.官方文档 https://developer.android.com/studio/build/multidex 主要内容: 什么是64K限制 编码时如何避免64K 限制 拆分dex避免64K 限 ...