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 ...
随机推荐
- Chapter 1 线性表
Preface: 这部分主要是我考研之前的总结,留作以后用到时再翻出来看看.都是基础的知识点,望各(Da)位(Lao)不喜勿喷,欢迎指正. 适用人群:考研复习过一遍数据结构的,可以看看,查漏补缺(顺便 ...
- Java获取系统时间少了八个小时
Java获取系统时间少了八个小时 今天忽然遇到需要获取当前时间的问题,我向来谨慎,先测试获取到的系统时间是否正确,结果竟然发现少了八个小时,晕死了,记得之前在页面用javascript获取过当前时间, ...
- webService学习五(插入片,---监控方法)
WS Explorer工具的使用: 1- web服务浏览器 2-将对应的路径copy到这里 - 3- 4-- 5-- 6--请求的数据: 7--相应数据 二.使用TCP/IP Monitor-拦截HT ...
- TZOJ 5962 Happy Matt Friends(计数DP)
描述 Matt hzs N friends. They are playing a game together. Each of Matt’s friends has a magic number. ...
- SpringMVC注解开发方式
环境准备 springmvc版本:spring3.2 需要spring3.2所有jar(一定包括spring-webmvc-3.2.0.RELEASE.jar 工程结构 配置前端控制器(web.xml ...
- ES6学习笔记之解构赋值
1.数组的解构赋值 简单用法 { // 旧 let a=1,b=3; //新 let [a,b]=[1,3]; console.log(a,b);// 1 3 } 只要等号两边的模式相同,左边的变量就 ...
- redis异常-MISCONF Redis is configured to save RDB snapshots
在eclipse中用java代码通过jedis操作redis的时候,报这个错: redis.clients.jedis.exceptions.JedisDataException: MISCON ...
- nginx 限制ip的请求频率
需要注意,这个很容易误伤 还需要结合别的办法进行共同配置 总是有人很清闲的扫我的网站 ,所以要限制一下了 先来看看没有限制的时候,并发10 100次 服务器一直在正常响应 限制一下,之后再测试一下 ...
- jnhs-netbeans maven Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.4.1:clean (default-clean) on project
w 无法完成清理 出现这种错误,通常是由于启动了另一个tomcat 进程或者运行的javaw.exe进程,导致报错. 直接运行工程启动后再清理就好了 或者 重启大法
- redis为什么快
今天面试的时候被问到的一个问题,大致说了几点.回去又研究了一下. 大致分为几点: 1:Redis是纯内存数据库,一般都是简单的存取操作,线程占用的时间很多,时间的花费主要集中在IO上,所以读取速度快. ...