什么是异常

  程序运行的过程中发生的一些不正常事件

异常分类

    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高级--异常处理概念和异常处理机制的更多相关文章

  1. Java高级之虚拟机垃圾回收机制

    博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved ! 区别于C语言手动回收,Java自动执行垃圾回收,但为了执行高效 ...

  2. Java高级之虚拟机加载机制

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 1.0版本:2016-05-21 SubClass!! 执行结果说明一个问题:子类调用父类变量的时候 ...

  3. Java web的几种异常处理 (转)

    一.在servlet容器中处理异常 以下两种方式: 1. 在web.xml定义异常处理  如果没有在web的应用中作异常处理,那么异常就会抛给Servlet容器,应该说此时Servlet容器是处理异常 ...

  4. Java探索之旅(16)——异常处理

    1.异常与异常处理 在<java编程思想>中这样定义 异常:阻止当前方法或作用域继续执行的问题.虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来 ...

  5. Java【第九篇】异常处理

    异常概述 介绍 任何一种程序设计语言设计的程序在运行时都有可能出现错误,例如除数为0,数组下标越界,要读写的文件不存在等等.捕获错误最理想的是在编译期间,但有的错误只有在运行时才会发生.对于这些错误, ...

  6. 2017.10.28 针对Java Web应用中错误异常处理方法的运用

    针对Java Web应用中错误异常处理方法的运用 在javaweb中其异常都需要对Checked Exception之下的Exception进行继承,并且有选择地对发生的错误和异常进行处理.Java同 ...

  7. java复习整理(六 异常处理)

    一.异常简介  在 Java 中,所有的异常都有一个共同的祖先 Throwable(可抛出).Throwable 指定代码中可用异常传播机制通过 Java 应用程序传输的任何问题的共性.        ...

  8. JAVA项目中常用的异常处理情况总结

    JAVA项目中常用的异常知识点总结 1. java.lang.nullpointerexception这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用 ...

  9. Java基础(八)异常处理

    一.异常 异常是指程序在运行过程产生的不正常情况.语法错误不算异常. 1.异常体系 Throwable:Java语言中所有错误或异常的超类:Throwable 类的子类有两个:1.Error:2.Ex ...

随机推荐

  1. 2019-8-31-HttpRepl-互操作的-RESTful-HTTP-服务调试命令行工具

    title author date CreateTime categories HttpRepl 互操作的 RESTful HTTP 服务调试命令行工具 lindexi 2019-08-31 16:5 ...

  2. python 与 selenium 学习笔记

    在写自动运行测试用例,并且生成HTML报告的时候,遇到了这个报错: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in positi ...

  3. Redis源码解析:21sentinel(二)定期发送消息、检测主观下线

    六:定时发送消息 哨兵每隔一段时间,会向其所监控的所有实例发送一些命令,用于获取这些实例的状态.这些命令包括:"PING"."INFO"和"PUBLI ...

  4. PYTHON__ ITERTOOLS模块

    组成 总体,整体了解 无限迭代器 迭代器 参数 结果 例子 count() start, [step] start, start+step, start+2*step, ... count(10) - ...

  5. light oj 1149 Factors and Multiples(二分匹配)

    LightOJ1149 :Factors and Multiples 时间限制:2000MS    内存限制:32768KByte   64位IO格式:%lld & %llu 描述 You w ...

  6. 区块链、云计算、大数据、人工智能、FinTech带来的挑战与机遇,中国技术开放日上海站精彩回顾

    区块链.云计算.大数据.人工智能.FinTech带来的挑战与机遇,中国技术开放日上海站精彩回顾 | 作者 韩婷 发布于 2016年12月26日. 估计阅读时间: 不到一分钟 | 欲知区块链.VR.Te ...

  7. JS---案例:大量字符串拼接效果实现

    案例:大量字符串拼接效果实现 按钮点击,字符串拼接,最后效果字符串,str input有很多,type来分就有button和text,需要找出inputs[i].value是text的 所以用!=&q ...

  8. php解决高并发(文件锁)

    文件锁分为两种方式: [一].阻塞模式:(如果其他进程已经加锁文件,当前进程会一直等其他进程解锁文件后继续执行) <?php //连接数据库 $con=mysqli_connect(" ...

  9. Tr A HDU 1575 (矩阵快速幂)

    #include<iostream> #include<vector> #include<string> #include<cmath> #includ ...

  10. 关系数据库(ch.2)

    2.1.1 关系 域 笛卡儿积 关系 candiate key 如果一组属性值可以唯一的标识一个元祖,但是他的子集不行,那么这是一个候选码 关系可以由三种类型 基本关系 查询关系 视图 为关系附加如下 ...