异常的知识点总结
来源:互联网 发布:盟军敢死队2 mac版 编辑:程序博客网 时间:2024/06/08 07:12
在java中异常是程序设计的一个重要的一个重点,在java中,所有的异常都可以
用一个类来表示。不同类型的异常对应不同的子类异常。
异常主要有两个来源,一个是java运行时的环境自动抛出系统生成的异常,
而不管程序员是否愿意捕获和处理。
还有一种是程序员自己定义的,也可以是java语音自己定义的异常,用throw
关键字来抛出,这种异常主要是来向调用者报告某些异常的信息。
java语言中不同的异常有不同的分类,每个异常都对应一个异常对象,
任何异常对象都是java.lang.Throwable类或者子类的对象,即所有异常类型都是
内置类Throwable类的子类。
在Throwable类中,通常把异常分为两个不同的分类,Exception和 Error
Throwable是所有异常和错误的超类,分别有一个错误Error和一个异常Exception子类
而其中的异常子类有分为运行时异常RuntimeException和非运行时异常,Exception是
所有异常的父类,定义了各种各样的可能出现异常的异常事件,一般要用户显示的声明和捕获
一;运行时异常
运行时异常是Runtime类以及其子类的异常,这些异常是不检查异常,在程序中可以选择捕获和处理
也可以不捕获和处理,显示的声明和捕获会对程序的可读性和运行效率影响很大,因此这些异常由系统
自动检测并交给默认的异常进行处理,这些异常一般由程序逻辑错误引起,程序应该从逻辑角度尽可能避免这些异常的发生
二:非运行时异常
它是RuntimeException意外的异常,从类型上将属于Exception类及其子类,从程序语法上将必须是进行处理的异常,如果不处理
程序就不会编译通过。、
代码如下
class Demo{
public static void main(String[] args) {
try
{
FeiQ.feiq("192.168.10.122");
FeiQ.feiq(null);
}
catch (NoNetworkException noNet)
{
System.out.println(noNet.toString());
System.out.println(noNet.extraMessage);
System.out.println("SB, 请把网线插上!");
}
System.out.println("Hello World!");
}
}
class NoNetworkException extends Exception
{
//提供这个异常的一些额外的信息
String extraMessage;
//提供对应的构造方法
public NoNetworkException(String message, String extra){
super(message);
extraMessage = extra;
}
public NoNetworkException(){
}
}
class FeiQ
{
public static void feiq(String ip) throws NoNetworkException{
if (ip == null)
{
//抛出 网络问题的异常
throw new NoNetworkException("没有网络", "额外信息:没插网线!");
}
System.out.println("恭喜登录成功!");
}
}
用一个类来表示。不同类型的异常对应不同的子类异常。
异常主要有两个来源,一个是java运行时的环境自动抛出系统生成的异常,
而不管程序员是否愿意捕获和处理。
还有一种是程序员自己定义的,也可以是java语音自己定义的异常,用throw
关键字来抛出,这种异常主要是来向调用者报告某些异常的信息。
java语言中不同的异常有不同的分类,每个异常都对应一个异常对象,
任何异常对象都是java.lang.Throwable类或者子类的对象,即所有异常类型都是
内置类Throwable类的子类。
在Throwable类中,通常把异常分为两个不同的分类,Exception和 Error
Throwable是所有异常和错误的超类,分别有一个错误Error和一个异常Exception子类
而其中的异常子类有分为运行时异常RuntimeException和非运行时异常,Exception是
所有异常的父类,定义了各种各样的可能出现异常的异常事件,一般要用户显示的声明和捕获
一;运行时异常
运行时异常是Runtime类以及其子类的异常,这些异常是不检查异常,在程序中可以选择捕获和处理
也可以不捕获和处理,显示的声明和捕获会对程序的可读性和运行效率影响很大,因此这些异常由系统
自动检测并交给默认的异常进行处理,这些异常一般由程序逻辑错误引起,程序应该从逻辑角度尽可能避免这些异常的发生
二:非运行时异常
它是RuntimeException意外的异常,从类型上将属于Exception类及其子类,从程序语法上将必须是进行处理的异常,如果不处理
程序就不会编译通过。、
代码如下
class Demo{
public static void main(String[] args) {
try
{
FeiQ.feiq("192.168.10.122");
FeiQ.feiq(null);
}
catch (NoNetworkException noNet)
{
System.out.println(noNet.toString());
System.out.println(noNet.extraMessage);
System.out.println("SB, 请把网线插上!");
}
System.out.println("Hello World!");
}
}
class NoNetworkException extends Exception
{
//提供这个异常的一些额外的信息
String extraMessage;
//提供对应的构造方法
public NoNetworkException(String message, String extra){
super(message);
extraMessage = extra;
}
public NoNetworkException(){
}
}
class FeiQ
{
public static void feiq(String ip) throws NoNetworkException{
if (ip == null)
{
//抛出 网络问题的异常
throw new NoNetworkException("没有网络", "额外信息:没插网线!");
}
System.out.println("恭喜登录成功!");
}
}
0 0
- 异常的知识点总结
- JAVA异常知识点总结
- java异常知识点总结
- java异常知识点总结
- ClassCastException异常相关知识点总结
- 内部类、异常知识点总结
- C#知识点总结、异常处理总结、类型转换的异常处理
- 黑马程序员 知识点总结-Java异常
- JAVA知识点总结(一)异常
- 黑马程序员--异常处理知识点总结
- Day11 异常、File类、流知识点总结
- Spring的知识点总结
- smarty的知识点总结
- 指针知识点的总结
- jap的知识点总结
- Java_Android 知识点的总结
- 数据库的知识点总结
- 数组知识点的总结
- ”非常危险“的Linux命令大全
- JAVA多线程详解
- 无服务器无域名代替方案
- 基于TI-RTOS的CC2650DK开发(5)---线程概览
- 动物乐园
- 异常的知识点总结
- 六大经典排序算法 java 选择排序、插入排序、冒泡排序、快速排序、堆排序、归并排序,六大经典排序算法,
- 大数据实战学习笔记 03
- 数组
- 继承封装多态接口
- jQuery Ajax File Upload(附源码)
- 一段QuickHit代码加解析
- 一种兼顾成本与性能的应用高可用部署架构
- DevExpress控件使用之RichEditControl的使用