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 ...
随机推荐
- Maven实战错误笔记:使用mvn archetype:generate报错:Unable to add module to the current project as it is not of packaging type 'pom'
在使用mvn archetype:generate生成Maven实战03:HelloWorld中的HelloWorld的项目骨架时报了这个错,从字面上分析是可能与pom.xml文件有关,然后我看了一下 ...
- python collections 模块 之namedtuple
namedtuple collections.namedtuple(typename, filed_name, *, rename=False, module=None) 创建一个以 typename ...
- Leetcode589.N-ary Tree Preorder TraversalN叉树的前序遍历
给定一个 N 叉树,返回其节点值的前序遍历. class Node { public: int val; vector<Node*> children; Node() {} Node(in ...
- Leetcode448.Find All Numbers Disappeared in an Array找到所有数组中消失的数字
给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次. 找到所有在 [1, n] 范围之间没有出现在数组中的数字. 您能在不 ...
- Redis源码解析:26集群(二)键的分配与迁移
Redis集群通过分片的方式来保存数据库中的键值对:一个集群中,每个键都通过哈希函数映射到一个槽位,整个集群共分16384个槽位,集群中每个主节点负责其中的一部分槽位. 当数据库中的16384个槽位都 ...
- LC327 Count of Range Number
这一题,我们使用了分治法. 首先看时间复杂度为o(n^2),比较naïve的方法: 使用一个数组sum[],长度为原数组长度+1,每一个元素sum[i]为原数组中index0~i-1之和,显然当sum ...
- element ui table 去掉边框
// /deep/ .el-table { // thead { // .cell { // text-align: left; // table 表头 左对齐 // } // } // .delet ...
- mongodb 使用常见问题汇总(主要是集群搭建)
1 安装 请使用官方推荐的教程 https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/ 2 远程访问失败: 操作系统是u ...
- input[type=file]上传图片及转为base64码以及预览
<input type="file" id="imgurl" capture="camera" accept="image/ ...
- HDU 3714
最大值最小问题,三分....竟然排第六当时..... #include<stdio.h> #include<string.h> #define max 10000+10 #de ...