zoukankan      html  css  js  c++  java
  • java初学者笔记总结day9

    异常的概念
    throwable:异常,程序非正常执行的情况
    error:错误,程序非正常执行的情况,这种问题不能处理,或不应该处理
    exception:例外,程序非正常执行的情况,这种问题可以通过处理

    java是面向对象的所有的异常问题,都是用对象表示

    异常产生的原因,为什么需要产生异常。
    ---》程序代码不能正常的产生结果的时候---》产生异常

    一、产生异常方式
    1)表达式产生 例如:a/b, 除数为0
    2)方法调用产生 例如:str.charAt(idx),下标越界
    3)手动产生异常 语法:throw 异常对象(exception及子类型的对象)

    二、java异常处理方式
    1)throws:抛出异常给上级(方法的调用者)处理
    2)try catch:方法自己处理异常

    throws语法
    访问修饰符 返回值类型 方法名(参数列表)[throws 异常类1,异常类2...]{}

    throws注意点
    1)throws跟的异常是方法【可能出现】的异常
    2)如果方法throw里一个异常,那么可以throws异常类自己,或其超类型
    3)如果方法都throws异常,最后main也throws异常,那么异常会交给jvm处理
    jvm处理:a)打印异常的详细信息 b)停止线程(程序)

    三、throws和重写的关系

    重写语法:
    1)方法签名:子类型==超类型
    2)返回值类型:
    a)基本类型和void:子类型==超类型
    b)引用类型:子类型<=超类型
    3)访问修饰符: 子类型>=超类型
    不能为private
    4)throws异常列表:
    子类型<=超类型
    <=:指异常类的大小,更异常类的个数无关。

    exception或runtimeException关系

    exception:例外,程序非正常执行的情况,这种问题可以通过处理
    runtimeException:例外,程序非正常执行的情况,这种问题可以通过处理,方法
    都默认对该异常进行处理,throws 了该异常。

    四、自定义异常
    作用?———》可以更加准确的通过类名描述异常的信息。
    语法:
    1)类名:异常信息+Exception
    2)继承:exception或runtimeException
    3)构造器:空构造和初始化异常消息的构造器


    五、try catch:自己处理异常

    语法1:
    try{
    //监听可能出现的异常代码
    }catch(异常类 变量){
    //捕获到对应异常执行的代码
    }...

    try:监听可能出现的异常代码
    catch:捕获到对应异常执行的代码

    执行流程
    a)有异常
    1)有对应catch:执行try的代码遇到异常位置,后面代码不执行,执行对应的catch,
    再离开try catch结构。
    2)没有对应catch:执行try的代码遇到异常位置,后面代码不执行,直接把异常抛出,交给
    方法的上级。
    b)无异常:执行try的所有代码,然后离开try catch结构。


    语法2:
    try{
    //监听可能出现的异常代码
    }catch(异常类 变量){
    //捕获到对应异常执行的代码
    }...
    finally{
    //一定执行的代码
    }

    try:监听可能出现的异常代码
    catch:捕获到对应异常执行的代码
    finally:一定执行的代码(释放资源--流:关闭管道,数据库连接关闭,网络连接关闭),无论是否有异常都会执行,方法提前return,throw也会执行。


    执行流程
    a)有异常
    1)有对应catch:执行try的代码遇到异常位置,后面代码不执行,执行对应的catch,
    再执行finally,再离开try catch结构。
    2)没有对应catch:执行try的代码遇到异常位置,后面代码不执行,再执行finally,直接把异常抛出,交给
    方法的上级。
    b)无异常:执行try的所有代码,再执行finally,然后离开try catch结构。

  • 相关阅读:
    获取字符串的MD5值
    将对象XML序列化为XML文件/反序列化XML文件为对象
    C#通过反射获得对象所有属性和值
    Jquery.Validate使用
    JS删除确认框
    生成验证码
    文件备份方法
    Log日志类
    Ext.NET 基础学习笔记08 (FormPanel)
    Tibco EMS Message trace
  • 原文地址:https://www.cnblogs.com/Tab1994/p/5436440.html
Copyright © 2011-2022 走看看