Java自定义异常
2015-10-21 13:22
471 查看
先看标准的例子:
Test.java
/* 模拟注册 */ public class Test{ public static void main(String[] args){ //假如用户提供的用户名如下 String username = "xpleaf"; //注册 CustomerService cs = new CustomerService(); try{ cs.register(username); }catch(IllegalNameException e){ System.out.println(e.getMessage()); } } }CustomerService.java
//顾客相关的业务 public class CustomerService{ //对外提供一个注册的方法 public void register(String name) throws IllegalNameException{ //完成注册 if(name.length()<6){ //异常 //创建异常对象 //IllegalNameException e = new IllegalNameException("用户名长度不能少6位"); //手动抛出异常 //throw e; throw new IllegalNameException("用户名长度不能少6位"); } //如果代码能执行到此处,证明用户名是合法的. System.out.println("注册成功!"); } }IllegalNameException.java
/* 自定义“无效名字异常”. 1.编译时异常,直接继承Exception 2.运行时异常,直接继承RuntimeException */ public class IllegalNameException extends Exception{ //编译时异常 //public class IllegalNameException extends RuntimeException{ //运行时异常 //定义异常一般提供两个构造方法 public IllegalNameException(){} public IllegalNameException(String msg){ super(msg); } }其实比较简单,只要把相关的类创建好就OK了,最关键是在异常处理类中继承Exception。
根据此,再写一个自定义异常,要求如果输入的数字大于100,则抛出异常:
Main_pro.java
import java.util.Scanner; public class Main_pro { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("Please input a number for a:"); Scanner s = new Scanner(System.in); int a = s.nextInt(); Num_check check = new Num_check(); try{ check.checknum(a); } catch(NumError e){ System.out.println(e.getMessage()); } } }Num_check.java
public class Num_check { public void checknum(int num) throws NumError{ if (num>=100){ throw new NumError("Error!"); } System.out.println("The number is normal."); } }NumError.java
public class NumError extends Exception{ public NumError(){} public NumError(String msg){ super(msg); } }
通过上面两个例子,再对比Python中的异常处理,最大的感想是:Python的真的要简洁好多!当然,这是因为在Java中,每一个方法都要写成一个类,而在Python中,不一定要使用面向对象的程序设计思想,因此可以简洁很多。
关于Python异常处理的详细说明,可以参考前面我写的文章:
相关文章推荐
- java的自定义异常类
- 76、java自定义异常
- java异常处理和自定义异常利用try和catch让程序继续下去(回来自己再写个例子试运行下)
- JAVA中的自定义异常捕获
- Java自定义异常类的实例详解
- Java学习·自定义异常
- java 自定义异常
- JAVA入门 - 自定义异常类
- java自定义异常
- Java异常处理:Part3 自定义异常
- java中如何制定自定义异常
- java 如何自定义异常 用代码展示 真心靠谱
- java语言自定义异常
- java 中常见的异常和自定义异常
- Java之异常--7.2.1--自定义异常
- java的自定义异常类
- java中异常抛出以及自定义异常
- Java中的Exception异常 自定义异常
- java自定义异常
- Java自定义异常类