网赌被黑指南_Java 基础篇之异常

出黑部3118198939 阅读:7 2019-10-01 04:38:46 评论:0
  • 网赌被黑找D哥出黑【微信:JLYL78999 QQ:740093333】 网赌被黑不给出款挽回损失的方法,网赌被黑无法出款怎么办,网赌被黑了怎么办,网赌被黑无法取款怎么办,网赌被黑无法提款怎么办,网赌被黑无法提现怎么办,网赌被黑审核不通过怎么办,腾龙专业出黑团队不收前期费用,网上赌钱不给出款,网上网赌被黑该怎么办,网赌被黑前兆,关于网赌出黑的一些技巧分享!

    异常

    异常层次

    • Error:Java 运行时系统的内部错误和资源耗尽错误。应用程序不应该抛出这种类型的对象。如果出现了这样的内部错误,除了通告给用户,并尽力使程序安全地终止之外,再也无能为力了。
    • Exception
      • RuntimeException:由程序错误导致的异常
      • 其他异常:程序本身没有问题,但由类似 IO 错误导致的异常

    Checked 异常 & Runtime 异常

    Checked 异常:不是 RuntimeException 类及其子类的异常实例

    Runtime 异常:所有 RuntimeException 类及其子类的异常实例

    Java 认为 Checked 异常都是可以被处理修复的异常,所以程序必须显示处理 Checked 异常,如果程序没有处理 Checked 异常,编译时会出错。Checked 异常体现了 Java 的设计理念,没有完善错误处理的代码根本不会被执行。

    对 Checked 异常处理方式:

    • 当前方法明确知道如何处理该异常,应该使用 try-catch 处理该异常

    • 当前方法不知道如何处理该异常,应在定义该方法时声明抛出该异常

    对 Runtime 异常的处理方式:

    ,网赌被黑网站不给出款怎么办网赌被黑审核不通过怎么办,网投被黑审核不通过怎么办专业出黑网赌追款团队帮您解决,多年经验为您提供优质方案,
    • Runtime 异常无需显式声明抛出,如果程序需要捕获 Runtime 异常,也可以使用 try-catch 块

    throws 声明抛出异常

    如果当前方法不知道如何处理这种类型的异常,该异常应该由上一级调用者处理,如果上一级调用者也不知道如何处理,再抛出直至交由 JVM 处理。

    throws 声明抛出只能在方法声明中使用,可以声明抛出多个异常类。一旦使用 throws 语句声明抛出该异常,程序就无需使用 try-catch 来捕获异常了。

    示例:下面程序声明不处理 IOException 异常,而是将该异常交由 JVM 处理

    import java.io.FileInputStream;
    import java.io.IOException;
    
    public class ThrowsTest {
        public void main(String[] args) throws IOException {
            FileInputStream fis = new FileInputStream("a.txt");
        }
    }

    如果某段代码中调用了一个带 throws 声明的方法,该方法声明抛出了 Checked 异常,则表明该方法希望它的调用者来处理该异常。那么调用者在调用该方法时,要么将其放入 try 块中并显示捕获该异常,要么放在另一个带 throws 声明抛出的方法中。

    示例代码如下:

    import java.io.FileInputStream;
    import java.io.IOException;
    
    public class ThrowsTest2 {
    
        public static void test() throws IOException {
            /* 因为 FileInputStream 的构造器声明抛出 IOException 异常
               所以调用 test() 方法 的代码要么处于 try-catch 块中
               要么处于另一个带 throws 声明抛出的方法中
            */
            FileInputStream fis = new FileInputStream("a.txt");
        }
    
        public static void main(String[] args) throws Exception {
            /* 因为 test() 方法声明抛出 IOException 异常
               所以调用该方法的代码要么处于 try-catch 块中
               要么处于另一个带 throws 声明抛出的方法中
            */
            test();
        }
    }

    主动抛出异常 throw

    如果 throw 语句抛出的异常是 Checked 异常,则该 throw 语句要么处于 try 块里,显式捕获该异常,要么放在一个带 throws 声明抛出的方法中;如果 throw 语句抛出的是 Runtime 异常,则无需放在 try 块里,也无需放在带 throws 声明抛出的方法中,既可以显式的用 try-catch 来捕获并处理异常,也可以完全不理会该异常,把该异常交给该方法调用者处理。

    import java.io.IOException;
    
    public class ThrowTest3 {
        public static void throwChecked(int a) throws Exception {
            if (a > 0) {
                // 自行抛出 Exception 异常
                // 该代码必须处于 try 块里,或处于带 throws 声明的方法中
                throw new Exception("a的值大于0,不符合要求");
            }
        }
    
        public static void throwRuntime(int a) {
            if (a > 0) {
                // 自行抛出 RuntimeException 异常
                // 既可以捕获该异常,也可以完全不理会该异常,把异常交给方法调用者处理
                throw new RuntimeException("a的值大于0,不符合要求");
            }
        }
    
        public static void main(String[] args) {
            try {
                // 调用声明抛出 Checked 异常的方法,要么显式在 try-catch 中捕获该异常,要么在 main 方法中再次声明抛出
                throwChecked(3);
            } catch (Exception e) {
                System.out.print(e.getMessage());
            }
            // 调用声明抛出 Runtime 异常的方法既可以显式捕获该异常,也可以不理会该异常
            throwRuntime(3);
        }
    }

    自定义异常类

    public class AuctionException extends Exception {
        // 无参构造器
        public AuctionException() {}
        // 带一个字符串参数的构造器
        public AuctionException(String msg) {
            super(msg);
        }
    }

    异常链

    将原始信息隐藏起来,仅向上提供必要的异常提示信息的处理方式,可以保证底层异常不会扩散到表现层,避免向上暴露太多的细节,符合面向对象的封装原则。

    public calSal() throws SalException {
        try {
            // 实现结算工资的业务逻辑
            ...
        } catch (SQLException sqle) {
            // 将原始异常记录下来,留给管理员
            ...
            // 下面异常中的 message 就是给用户的提示
            throw new SalException("访问数据库异常“);
        } catch (Exception e) {
            // 将原始异常记录下来,留给管理员
            ...
            // 下面异常中的 message 就是给用户的提示
            throw new SalException("系统出现未知异常“);
        }
    }

    欢迎关注我的公众号

    网赌被黑找D哥出黑QQ:740093333,专业出黑网赌追款团队帮您解决,多年经验为您提供优质方案

    推荐阅读:

    未命名

  • 声明

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    发表评论
    关注我们

    网赌出黑D哥公众号

    搜索
    排行榜