续写异常-(几个程序)
来源:互联网 发布:火鸟移动编程 编辑:程序博客网 时间:2024/04/29 10:53
异常的程序及其实现的结果
一
package testexception;
public class ReturnException {
static void methodA(){
try{
System.out.println(“进入方法A”);
throw new RuntimeException(“制造异常”);
}finally{
System.out.println(“用A方法的finally”);
}
}
static int methodB(){
try{
System.out.println(“进入方法B”);
return 1;
}finally{
System.out.println(“用B方法的finally”);
return 2;
}
}
public static void main(String[] args){
try{
methodA();
}catch(Exception e){
System.out.println(e.getMessage());
}
int i=methodB();
System.out.println(i);
}
}
结果:
进入方法A
用A方法的finally
制造异常
进入方法B
用B方法的finally
2
二
这是自定义的异常
package testexception;
public class MyException extends RuntimeException {
static final long serialVersionUID = -7034897190745766939L;
public MyException(){
}public MyException(String mag){ super(mag);}
}
这是主方法,调用了上面的类方法
package testexception;
public class TestEcmDef {
public static void main(String[] args){
try{ int i=Integer.parseInt(args[0]); int j=Integer.parseInt(args[1]); Ecm(i,j);}catch(NumberFormatException e){ System.out.println("输入的数据类型不一致");}catch(ArrayIndexOutOfBoundsException e){ System.out.println("缺少命令行参数");}catch(ArithmeticException e){ System.out.println("分母为零了");}catch(EcmDef e){ System.out.println(e.getMessage());}
}
public static void Ecm(int i,int j) throws EcmDef{ if(i<0||j<0){ throw new EcmDef("你输入的数值存在负数"); } System.out.println(i/j);}
}
class EcmDef extends Exception{
static final long serialVersionUID = -3387516229948L;
public EcmDef(){
} public EcmDef(String msg){ super(msg); }
}
三
package testexception;
public class testExceptionCorcleOne {
public static void main(String[] args){
Circle c1=new Circle(2.3);
Circle c2=new Circle(2.1);
System.out.println(c1.Compaper(c2));
System.out.println(c1.Compaper(new String(“AA”)));
}
}
class Circle{
private double radius;
public Circle(double d) { super(); this.radius = d;}public float getRadius() { return (float) radius;}public void setRadius(float radius) { this.radius = radius;}public int Compaper(Object obj){ if(this==obj){ return 0; }else if(obj instanceof Circle){ Circle c=(Circle)obj; if(this.radius>c.radius){ return 1; }else if(this.radius==c.radius){ return 0; }else { return -1; } } else{ //return -2; //throw new RuntimeException("传入的类型不同"); throw new MyException(); }}
}
运行结果“
1
Exception in thread “main” testexception.MyException
at testexception.Circle.Compaper(testExceptionCorcleOne.java:43)
at testexception.testExceptionCorcleOne.main(testExceptionCorcleOne.java:8)”
- 续写异常-(几个程序)
- 保持写程序的几个习惯
- 保持写程序的几个习惯
- 最近我写的几个程序!
- 寒假写的几个简单的程序
- 这几天写的几个小程序
- 树莓派用Python写几个简单程序
- 写了几个有关operaminimod的python小程序
- 我写的几个rmi程序的基本例程
- 使用python写程序时遇到的几个小问题
- 树莓派用Python写几个简单程序2_i2c-lcd
- 树莓派用Python写几个简单程序3_UART_BT-HM10
- 树莓派用Python写几个简单程序4:socket的使用
- 初学51单片,写的几个小程序
- 有一个文本文件中存储了几个名称,写一个程序实现随机获取一个人的名字(抽奖)
- 下列哪种异常是检查型异常,需要在编写程序时声明?
- hibernate的几个异常
- 常用的几个异常
- FZU 2150Fire Game
- 向您的项目添加 C 和 C++ 代码
- vector
- atan和atan2
- Java File类
- 续写异常-(几个程序)
- (7)Date对象、with用法
- 基于selenium的pyse自动化测试框架
- 二叉树的深度
- centos远程升级sshd到5.9p1并删除老版本ssh
- Eclipse的Servers视图中无法添加Tomcat服务器
- Linux 连续执行多条命令的方法
- OpenSSH升级步骤及注意事项详解
- Maven的配置以及创建maven项目的注意事项