java中的异常机制(编译时异常)

/ * 1 异常机制的原理

* 异常是什么:就是错误的另外一种说法;

* 在java中,有一个专门模拟所有异常的类,所有的异常都必须继承这个类:Throwable;

* 本质是:当程序出错以后,jvm会隐性的创建一个对象,获取错误信息,返回给程序调用处.这个是我们程序员在写程序的时候对某些高风险的操作规定了一个提示机制.我们提示这个机制,相对于系统就是一个处理异常的触发机制

* 异常机制和正常程序机制是两条平行线,一条是我们看到的main()函数里面的调用线.还有一条我们看不见的,如果程序正常情况下会正常把程序执行完毕退出

* main()函数当中的所有语句按照正常的步骤执行完毕,然后退出虚拟机,这就是一个程序正常的执行完成.如果main()方法中的语句在执行过程中出现报错,就会跳到错误线,把错误机制的代码执行完毕,然后退出程序

*

* 2 异常机制处理形式

* 官方所谓的异常处理机制有两种:

*  try...catch...:一般用在客户端

*  throws:一般用在类库端

*  throw:异常提示的起点

时间: 2024-08-02 00:19:05

java中的异常机制(编译时异常)的相关文章

javaSE之运行时异常和编译时异常

运行时异常继承自RuntimeException; package foundationEnhance; public class Person { private int age; public Person(int age) { super(); if(age<0){ throw new ageException("年龄不可以为负数!"); } this.age = age; } public int getAge() { return age; } public void

Java之运行时异常与编译时异常区别

Java中用2种方法处理异常: 1.在发生异常的地方直接处理: 2.将异常抛给调用者,让调用者处理. Java异常可分为3种: (1)编译时异常:Java.lang.Exception (2)运行期异常:Java.lang.RuntimeException (3)错误:Java.lang.Error Java.lang.Exception和Java.lang.Error继承自Java.lang.Throwable; Java.lang.RuntimeException继承自Java.lang.E

编译时异常与运行时异常的区别

Java异常类层次结构图 Java异常类层次结构图 运行时异常:都是RuntimeException类及其子类异常,如NullPointerException(空指针异常).IndexOutOfBoundsException(下标越界异常)等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理.这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生. 运行时异常的特点是Java编译器不会检查它,也就是说,当程序中可能出现这类异常,即使没有用try-catch语句捕

浅说Java中的反射机制(二)

写过一篇Java中的反射机制,不算是写,应该是抄了,因为那是别人写的,这一篇也是别人写的,摘抄如下: 引自于Java基础--反射机制的知识点梳理,作者醉眼识朦胧.(()为我手记) 什么是反射? 正常编译执行java文件时,会生成一个.class文件,反射就是一个反编译的过程,它可以通过.class文件得到一个java对象.一个类会有很多组成部分,比如成员变量.成员方法.构造方法等,反射可以通过加载类(加载类是个什么东西?一直搞不清楚),解剖出类的各个组成部分. 为什么要用反射? 我们需要访问一个

Java中的异常处理机制的简单原理和应用。

异常是指java程序运行时(非编译)所发生的非正常情况或错误,与现实生活中的事件很相似,现实生活中的事件可以包含事件发生的时间.地点.人物.情节等信息,可以用一个对象来表示,Java使用面向对象的方式来处理异常,它把程序中发生的每个异常也都分别封装到一个对象来表示的,该对象中包含有异常的信息. Java对异常进行了分类,不同类型的异常分别用不同的Java类表示,所有异常的根类为java.lang.Throwable,Throwable下面又派生了两个子类:Error和Exception,Erro

黑马程序员【java中的反射机制】

Java中的反射机制 ------- android培训.java培训.期待与您交流! ---------- java的反射机制是java的特性之一,反射机制是构建框架技术的基础所在,使用反射可以使程序更加灵活,避免将程序写死在代码里.相对于很多初学者只接触过java基础的人,反射还是一个很朦胧难懂的概念,下面我们就来说一下反射的一些应用. java反射机制是指在运行状态中,动态获取信息以及动态调用对象方法的功能.java反射有3个动态性质:1.运行时生成对象实例,2.运行期间调用发放,3.运行

java中利用反射机制绕开编译器对泛型的类型限制

首先看下面这个例子 public static void main(String[] args) { ArrayList<Integer> al1 = new ArrayList<Integer>(); al1.add(1); ArrayList<String> al2 = new ArrayList<String>(); al2.add("hello"); //int型链表和string型链表,结果为true System.out.pr

Java中的异常处理机制

Java中的异常处理机制 示例 public class test { public static void main(String[] args) { // TODO Auto-generated method stub String s="hello"; int i=Integer.parseInt(s); } } 运行异常结果 在上述代码中Integer.parseInt表示把字符串类型转化成整数类型,同时Integer是Int的封装类:程序会报错,因为计算机没有办法把hello

java中的&quot;包&quot;机制

完全掌握java中的"包"机制 "包"机制是java中特有的,也是java中最基础的知识.一些初学java的朋友,通常象学其它语言一样从教材上copy一些程序来运行,可是却常常遇到莫名其妙的错误提示.这些问题事实上都出在对"包"的原理不够清楚.本文将就此问题进行深入阐述. 一.为什么java中要有"包"的概念? 以一言概之,java中"包"的引入的主要原因是java本身跨平台特性的需求.因为java中的所有