java异常类
- package shb.java.exception;
- /**
- * 测试异常类
- * @Package:shb.java.exception
- * @Description:
- * @author shaobn
- * @Date 2015-9-7上午11:52:42
- */
- public class Demo_2 {
- public static void main(String[] args) {
- testTD_5();
- }
- public static void testTD_2(){
- TDemo_2 td_2 = new TDemo_2();
- try {
- td_2.getResult(9, 0);//一旦发生异常,函数中后面的方法不再执行即结束
- System.out.println("over");//发生异常后,此句已不能再执行。 直接抛出异常对象,由catch块中异常对象的引用来接收。
- } /*catch (Exception e) {
- // TODO: handle exception
- System.out.println(e.getMessage());
- }*///如果一开始就用Exception会覆盖子异常类,则会只执行Exception,其余都不能执行。
- catch (ArithmeticException ae) {
- // TODO: handle exception
- System.out.println(ae.getMessage());
- System.out.println("算术异常");
- }catch (ArrayIndexOutOfBoundsException aiobe) {
- // TODO: handle exception
- System.out.println(aiobe.getMessage());
- System.out.println("数组越界异常");
- }
- System.out.println("helloworld");
- }
- //自定义异常类
- public static void testTD_3(){
- TDemo_3 td_3 = new TDemo_3();
- try {
- td_3.getResult_3(9, 0);
- System.out.println("over");
- } catch (Exception e) {
- // TODO: handle exception
- System.out.println(e.getMessage());
- }
- System.out.println("hellobeijing");
- }
- //自定义的继承RuntimeException类的异常(编译时是不报错的,运行时检查异常)
- public static void testTD_4(){
- TDemo_4 td_4 = new TDemo_4();
- td_4.getResult(9, 0);
- }
- public static void testTD_5(){
- TDemo_5 td_5 = new TDemo_5();
- try {
- td_5.testMethod();
- } catch (Exception e) {
- // TODO: handle exception
- System.out.println("异常已经处理");
- }
- }
- }
- class TDemo_2{
- private int age = 10;
- public int getAge(){
- return this.age;
- }
- //声明两个异常,算术异常,数组越界异常。
- public int getResult(int a,int b) throws ArithmeticException,
- ArrayIndexOutOfBoundsException{
- byte[] arr = new byte[a];
- b = a/b;
- arr[a] = 9;
- return a/b;
- }
- }
- class TDemo_3{
- private int height = 90;
- public int getHeight(){
- return this.height;
- }
- public int getResult_3(int a,int b) throws TDemo_3Exception{
- if(b==0)
- //抛出自定义异常,必须在方法上声明异常类。
- throw new TDemo_3Exception("自定义的异常类");
- return a/b;
- }
- }
- //编译时被检测的异常
- class TDemo_3Exception extends Exception{
- public TDemo_3Exception(String str){
- super(str);
- }
- //重写getMessage()方法
- public String getMessage(){
- return super.getMessage();
- }
- }
- //编译时不被检测的异常
- class TDemo_4Exception extends RuntimeException{
- public TDemo_4Exception(String str){
- super(str);
- }
- }
- class TDemo_4{
- private int with = 90;
- public int getWith(){
- return this.with;
- }
- public int getResult(int a,int b){
- if(b==0)
- throw new TDemo_4Exception("自定义的runtime异常");
- return a/b;
- }
- public void testResult(int a,int b){
- if(b<0)
- throw new TDemo_4Exception("b小于0");
- System.out.println("测试成功");
- }
- }
- class TDemo_5Exception extends Exception{
- public TDemo_5Exception(String str){
- super(str);
- }
- }
- class TDemo_5{
- public void testMethod() throws TDemo_5Exception{
- TDemo_4 td_4 = new TDemo_4();
- try {
- td_4.testResult(9, -1);
- } catch (Exception e) {
- // TODO: handle exception
- throw new TDemo_5Exception("处理失败");
- }
- }
- }
java异常类的更多相关文章
- 面试准备(三) Java 异常类层次结构
在Java中,异常分为受检查的异常,与运行时异常. 两者都在异常类层次结构中.这类容易出选择题 考试你是否掌握了异常类并清楚哪些异常类必须捕获 下面的图展示了Java异常类的继承关系. 图1 粉红色的 ...
- Java 异常类层次结构
在Java中,异常分为受检查的异常,与运行时异常. 两者都在异常类层次结构中. 下面的图展示了Java异常类的继承关系. 图1 粉红色的是受检查的异常(checked exceptions),其必须被 ...
- java——异常类、异常捕获、finally、异常抛出、自定义异常
编译错误:由于编写程序不符合程序的语法规定而导致的语法问题. 运行错误:能够顺利的编译通过,但是在程序运行过程中产生的错误. java异常类都是由Throwable类派生而来的,派生出来的两个分支分别 ...
- Java异常类(Throwable)
一.异常类体系 二.异常类由来与定义 [异常类的由来]:Java把程序在运行时出现的各种不正常情况也看成了对象, 提取属性和行为进行描述,比如异常名称,异常信息,异常发生位置,从而形成了各种异常类 [ ...
- Java异常类复习总结
个人理解先行: 异常类是当在程序出现问题时抛出的一个警告.提示你程序设计或者代码有存在错误的地方. 异常类和Error都继承自Throwable, Throwable继承自Object类. Runti ...
- 课堂动手动脑验证以及自定义异常类实现对异常处理——java异常类
异常(exception):发生在程序执行期间,表明出现了一个非法运行的情况.许多JDK中的方法在检测到非法情况时,都会抛出一个异常对象.例如:数组越界和被0除. 代码验证: package test ...
- Java异常类及处理
异常概述:运行时发生的不正常情况 在java中用类的形式对不正常的情况进行了描述和封装对象. 描述不正常的类,称之为异常类. 异常就是java通过面向对象的思想将问题封装成了对象,用异常类对其进行描述 ...
- java -> 异常类与自定义异常
异常 什么是异常?Java代码在运行时期发生的问题就是异常. 在Java中,把异常信息封装成了一个类.当出现了问题时,就会创建异常类对象并抛出异常相关的信息(如异常出现的位置.原因等). 异常的继承体 ...
- java异常类的妙用
异常类的妙用 以往在使用异常时,只是知道通过异常类的构造方法设置一些出错信息,此外最多就是把引起该异常的原因通过Throwable类的子类一同设置进去.今天在分析springSecurity3.0 ...
随机推荐
- linux configure
Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而 ...
- MySQL- 锁(1)
锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算资源(如CPU.RAM.I/O等)的争用以外,数据也是一种供许多用户共享的资源.如何保证数据并发访问的一致性.有效性是所有数 ...
- 关于HBase的概述
1.hbase的特点 ->数据存储量可以达到亿级别数据维持在秒级 ->按列存储的数据库 ->能够存储上百万列 ->hbase的底层存储依赖于HDFS ->如何扩展hbas ...
- Object C语法学习
#synthesize关键字: 根据@property设置,自动生成成员变量相应的存取方法,从而可以使用点操作符来方便的存取该成员变量 . @implementation 关键字,表明类的实现 @en ...
- Prestashop 页面空白
Advanced Parameters > Performance页面空白,无任何提示错误,解决方法: 更改文件/cache/class_index.php 权限为666
- jQuery基本选择器
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- ASP.NET MVC 中将数据从View传递到控制器中的表单提交法
本方法以搜索功能为例,在view中输入要搜索的关键字,提交到相应controller中进行处理. view中代码: <div class="searchBox"> @u ...
- ionic环境搭建和安装
1. 安装node环境 nodeJs环境的安装很简单,去官网下载最新版的NodeJs直接安装即可. Node官网: https://nodejs.org/ 安装完成后配置环境变量,计算机->属性 ...
- Flask 与 Celery 在 windows 下的集成问题
Flask 与 Celery 在 windows 下的集成问题 所有的 Web 框架内部的视图中不适合执行需要长时间运行的任务,包括 Flask .Django 等.这类型的任务会阻塞 Web 的响应 ...
- SQLserver 表字段修改语句
增加字段 ) 删除字段 ALTER TABLE table_NAME DROP COLUMN column_NAME 修改字段类型 ALTER TABLE table_name ALTER COLUM ...