Java异常抛出及try,catch应用实例

 1 class lanpingException extends Exception
 2 {
 3     lanpingException(String msg)
 4     {
 5         super(msg);
 6     }
 7 }
 8
 9 class maoyanException extends Exception
10 {
11     maoyanException(String msg)
12     {
13         super(msg);
14     }
15 }
16
17 class Computer
18 {
19     private int state=2;
20     public void run()throws lanpingException,maoyanException
21     {
22         if(state==1)
23         {
24             throw new lanpingException("lanping!!!");
25         }
26         if(state==2)
27         {
28             throw new maoyanException("maoyan!!!");
29         }
30         System.out.println("run bat");
31     }
32     public void reset()
33     {
34         state=0;
35         System.out.println("computer reset!");
36     }
37 }
38
39 class Teacher
40 {
41     private String name;
42     private Computer comp;
43     Teacher(String name)
44     {
45         this.name=name;
46         comp=new Computer();
47     }
48     public void prelect()throws maoyanException
49     {
50         try
51         {
52             comp.run();
53             System.out.println(name+" speak");
54         }
55         catch(lanpingException e)
56         {
57             System.out.println(e.toString());
58             comp.reset();
59             prelect();
60         }
61         catch(maoyanException e)
62         {
63             System.out.println(e.toString());
64             test();
65             throw e;
66         }
67     }
68     public void test()
69     {
70         System.out.println("test yourself!");
71     }
72 }
73
74 class Kandra
75 {
76     public static void main(String[] args)
77     {
78         Teacher pp=new Teacher("cao");
79         try
80         {
81             pp.prelect();
82
83         }
84         catch(maoyanException e)
85         {
86             System.out.println("......");
87         }
88     }
89 }
时间: 2024-11-08 20:19:45

Java异常抛出及try,catch应用实例的相关文章

java异常抛出

如果你知道你写的某个函数有可能抛出异常,而你又不想在这个函数中对异常进行处理,只是想把它抛出去让调用这个函数的上级调用函数进行处理,那么有两种方式可供选择: 第一种方式:直接在函数头中throws SomeException,函数体中不需要try/catch. 第二种方式:使用try/catch,在catch中进行一定的处理之后(如果有必要的话)抛出(throw)某种异常.

Java中抛出的各种异常

目录(?)[-] 引子 JAVA异常 处理异常机制 捕获异常trycatch 和 finally try-catch语句 trycatch-finally语句 try-catch-finally 规则异常处理语句的语法规则 trycatchfinally语句块的执行顺序 抛出异常 throws抛出异常 使用throw抛出异常 Throwable类中的常用方法 Java常见异常 runtimeException子类 IOException 其他 自定义异常 1. 引子 try…catch…fina

异常抛出与捕获的思考

异常处理的思考 在java中异常分为两类.一.检查性异常.二.非检查性异常(运行时异常) 二者的区别:检查性异常需要显式try-catch或者throw.运行时异常可以不用捕获. 对于检查性异常由于必须捕获,所有并不需要太多的讨论(在设计异常的时候需要考虑).主要讨论运行时异常的抛出与捕获. 运行时异常的正确捕获和抛出,能够让系统代码更加简洁与rd只需要关系正常业务,对于不正常业务则交由异常处理. 现在存在的困扰: 1.每调用一个其他方法,都需要考虑与分析这个方法是不是存在异常,影响正常业务流程

(转)spring异常抛出触发事务回滚策略

背景:在面试时候问到事务方法在调用过程中出现异常,是否会传递的问题,平时接触的比较少,有些懵逼. spring异常抛出触发事务回滚策略 Spring.EJB的声明式事务默认情况下都是在抛出unchecked exception后才会触发事务的回滚 测试用业务逻辑方法: /** * 如果在spring事务配置中不为切入点(如这里的切入点可以定义成test*)配置事务在什么情况下回滚(格式:-引起回滚的异常类型) * 则spring默认只会在service方法抛出unchecked exceptio

AspectJ的注解开发AOP:异常抛出通知的学习

异常抛出通知使用@AfterThrowing 在切面类中配置: import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.*; import java.math.BigInteger; @Aspect public class aspectj { // @Before(value = "execution(* com.AspecJ.xiaomaoDao.*(..))") // publ

swif-throws异常抛出

import UIKit enum VendingMachineError: Error { case invalidSelection //选择无效 case insufficientFunds(coinsNeeded: Int) //金额不足 case outOfStock //缺货 } struct Item { var price: Int var count: Int } class VendingMachine { var inventory = [ "Candy Bar"

Python之异常抛出机制

异常抛出机制 : 常见的Python异常:

PLSQL_Oracle Exception异常分类、异常抛出、异常处理、异常传播(概念)

2014-06-03 BaoXinjian 一.摘要 在PLSQL程序开发过程中,很重要的部分就是对程序异常的监控和处理,包括如何触发异常,何时进行处理,如何进行处理,是否将程式中的所有异常集中在一起,通过公共异常处理的procedure或function,如果没有完善的程式处理机制,很难说该程式是一只健壮的程式,当程式遇到很多类型或者量很多资料时,系统若没有异常处理必然会导致程式的出错 当预判到了某些异常,需要对预判到的异常进行合适相应的处理,是否抛出异常还是忽略还是其他 当然程式没有预判到或

C++中异常规格(异常抛出表)和 成员初始化表 的放置先后顺序

测试代码如下 #include <iostream> #include <cstdio> class CPoint{ public: CPoint(int x){ printf("has synax\n"); } CPoint(){ printf("no synax\n"); } }; class Point : public CPoint{ public: Point()throw() :CPoint(1){ } }; Point p; i