java高薪之路__002_异常处理

自定义异常

 1 package learn.JavaBasics.Class;
 2
 3 import java.util.Date;
 4
 5 /**
 6  * 如何自定义一个异常类
 7  * 1. 继承一个现有的异常类
 8  * 2. 提供一个序列号,提供几个重载的构造器
 9  * 3. 像其异常一样使用
10  */
11 public class MyException extends RuntimeException {
12     private static final long serialVersionUID = -1201746919629597153L;
13
14     public MyException() {
15
16     }
17
18     public MyException(String msg) {
19         super(msg);
20     }
21
22     public static void main(String... args) {
23         try {
24             throw new MyException("error in my exception"+new Date());
25         } catch (Exception e) {
26             // TODO Auto-generated catch block
27             e.printStackTrace();
28         }
29     }
30 }

在子类重写父类的抛异常的方法,子类中抛的异常不能大于父类的异常,最多相等

java.lang.Throwalbe
  |----- Error: 错误,程序中不进行处理
  |----- Exception: 异常,要求在编写程序时,就要考虑到对这些异常的处理
      |---- 编译时异常,在编译期间会出现的异常(执行javac.exe命令时,出现异常)
      |---- 运行时异常,在运行期间出现的异常(执行java.exe命令时,出现异常)
时间: 2024-10-06 19:08:01

java高薪之路__002_异常处理的相关文章

java高薪之路__009_网络

1. InetAddress类2. Socket: IP地址和端口号的结合,socket允许程序把网络连接当成一个流,数据在两个socket间通过IO传输, 通信的两端都要有socket. 主动发起通信请求的是客户端,等待通信请求的是服务端3. DatagramSocket 和 DatagramPacket实现了UDP协议网络程序, 使用DatagramSocket发送和接收,系统不保证UDP数据报一定能够安全送到目的地,也不能确定什么时候可以抵达 DatagramPacket对象封装了UDP数

java高薪之路__004_泛型

参考地址: 1. http://www.cnblogs.com/lwbqqyumidi/p/3837629.html2. http://www.cnblogs.com/abcwt112/p/4735068.html3. http://www.cnblogs.com/chyu/p/4630798.html 1 package learn.JavaBasics.Class; 2 3 public class GenericDemo { 4 private class Test<E> { 5 pri

java高薪之路__006_多线程

线程的创建有两种方式 1 package learn.JavaBasics.Class; 2 3 public class ThreadDemo extends Thread { 4 private static int count = 1; 5 6 public void run() { 7 System.out.println("Thread: "+count+" has started"); 8 ++count; 9 } 10 11 /** 12 * @par

java高薪之路__001_类

protected Class<!--?--> loadClass(String name, boolean resolve)throws ClassNotFoundException{ //加上锁,同步处理,因为可能是多线程在加载类 synchronized (getClassLoadingLock(name)) { //检查,是否该类已经加载过了,如果加载过了,就不加载了 Class c = findLoadedClass(name); if (c == null) { long t0 =

【转】JAVA自学之路

JAVA自学之路 一: 学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向呢? 我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会运用自己的眼睛去观察,去了解这个世界吧. 每个培训机构都会宣传自己的好处,并不能说明大的趋势. 一些新闻文章很有可能是枪手写的,不必太过相信.国外背景的

马士兵:JAVA自学之路

JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训.决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向呢?我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会运用自己的眼睛去观察,去了解这个世界吧. 每个培训机构都会宣传自己的好处,并不能说明大的趋势.一些新闻文章很有可能是枪手写的,不必太过相信.国外背景的教师和课

Java学习之路(二)--Thinking in Java

针对昨天Java学习之路(一)--Thinking in Java中的类的静态方法不能访问创建非静态类,给出了将内部类修改成为static静态类,操作方便简单.现在给出第二种不需要添加删除的另一种极为高效的方式.可以将内部类从你所创建的类中复制粘贴到类外,作为一个外部类,在static主方法中就可以创建类的引用了. 源代码如下: ? class test{ int s; char c; } public class test1 { public static class test{ int s;

JAVA中的异常(异常处理流程、异常处理的缺陷)

异常处理流程 1)首先由try{...}catch(Exception e){ System.out.println(e); e.printStackTrace(); }finally{...}结构 2)当JVM遇到异常时,会产生一个Exception对象 或 继承自Exception的子类的对象. 3)将异常对象向上层(调用它的代码块)抛出,知道碰到一个catch块(作相应处理) 或 一直抛到了最外层(导致程序异常终止).(并停止异常之后的代码的执行,但是finally块中的代码还会执行!换句

Java学习之路:1、HelloWorld

似乎每种语言都是从HelloWorld开始的,所以,我的第一个java程序,也应该是这样开始的! 1.配置好jdk后,开始编写HelloWorld.java package second;//这个应该在我的理解就相当于php的命名空间 public class HelloWorld {//如同php中的声明一个类,不过php是不需要加public这样的类型修饰符 public static void main(String[] args){//声明一个方法,不过不懂的是为什么一定要static: