java捕获编译时异常exception和运行时错误error的方法

news2024/10/7 8:20:30

背景

最近使用jacob的时候,由于编译没问题,运行时报如下,我

 查看代码发现是调用jacob文件时,是下面的方法报错,

ComThread.Release();

 这个方法编译不报错,是因为doCoUninitialize使用native修饰的,表名这个方法实现是需要调用dll等方式实现

 public static synchronized void Release() {
        if (JacobObject.isDebugEnabled()) {
            JacobObject.debug("ComThread: before clearObjects");
        }

        ROT.clearObjects();
        if (JacobObject.isDebugEnabled()) {
            JacobObject.debug("ComThread: before UnInit");
        }

        doCoUninitialize();
        if (JacobObject.isDebugEnabled()) {
            JacobObject.debug("ComThread: after UnInit");
        }

    }
public static native void doCoUninitialize();

 我添加了try-catch,使用Exception尝试捕获,

catch (Exception e)

发现不好使,原来这个错误的父类跟Exception无关,如下图,跟Error有关

 

尝试用如下代码捕获

    try{
             ComThread.Release();
            }catch (Error error){
                JOptionPane.showMessageDialog(null,"Jacob配置错误,请把文件夹里的\n" +
                        "jacob-1.16-M1-x64.dll\n" +
                        "和\n" +
                        "jacob-1.16-M1-x86.dll\n" +
                        "两个文件复制放到目录:C:\\Windows\\System32,\n" +
                        "详细参考菜单【文件】——>【常见问题】","Jacob配置错误",JOptionPane.ERROR_MESSAGE);
            }

发现可以

 

参考

Java:详解Java中的异常(Error与Exception)_王小二(海阔天空)的博客-CSDN博客《Java:详解Java中的异常(Error与Exception)》《Java:简述Java中的自定义异常》《Java:简述throw-throws异常抛出》《Java:简述try-catch-finally异常捕获》《Java:简述try-catch-finally中return返回》一、 异常机制的概述 异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机...https://blog.csdn.net/qq_29229567/article/details/80773970

java.lang.NoClassDefFoundError可以捕获_iteye_1456的博客-CSDN博客原本以为类不存在的Error不能捕获,想不到是可以的,记录一下。注意,这和反射遇到的“java.lang.ClassNotFoundException”是不一样的。 以下代码,编译完后,我删除了Demo$T2.class,如果不添加try-catch,会出现:Exception in thread "main" java.lang.NoClassDefFoundError: com/a...https://blog.csdn.net/iteye_1456/article/details/82301193

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/425668.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java 通过 spring 官网创建springboot项目

文章java简单一写一个springboot入门案例带大家用idea工具工具创建了一个springboot简单的小案例 但有时 我们idea如果连不上网 就会有点问题 我们可以采用另一种创建方式 但这里的前提肯定就是 你的计算机是要有网的 然后访问 https://spring.io/ 打开spring的官网 在 Project…

去了字节跳动,才知道年薪40W的测试有这么多?

今年大环境不好,内卷的厉害,薪资待遇好的工作机会更是难得。最近脉脉职言区有一条讨论火了: 哪家互联网公司薪资最‘厉害’? 下面的评论多为字节跳动,还炸出了很多年薪40W的测试工程师 我只想问一句,现在的…

数据结构进阶:前缀和与差分

数据结构进阶:前缀和与差分基础前缀和基础差分区间乘积前缀置换经典差分性质题目前缀和变种高次前缀和高维前缀和 (SOSDP)蓝桥杯已经结束,打下来很难受。自己对于算法的掌握还是不够,遂继续开启博客书写,激励自己学习。本系列文章…

FinClip 云开发实践(附小程序demo)

在开发一个小程序时,除了考虑界面功能逻辑外,还需要后端的数据支持,开发者需要提前考虑服务器、存储和数据库等相关需求的支持能力,此外还可能需要花费时间精力在部署应用、和依赖服务的建设上。 ​ 因此,腾讯小程序为…

【Java】类和对象详解

1. 类和对象 1.1 类和对象的理解 客观存在的事物皆为对象 ,所以我们也常常说万物皆对象。 类 类的理解 类是对现实生活中一类具有共同属性和行为的事物的抽象类是对象的数据类型,类是具有相同属性和行为的一组对象的集合简单理解:类就是对…

Dva.js(基础、简单例子解读)

简单介绍一下 近期在做react项目时,看到项目中数据的公共存储用的Dva.js,整体的代码结构看起来和vuex差不多,这两天趁着刚忙完,利用工作之余的时间空隙,大致了解了dva的基础理论,代码结构应用,参…

Qt 项目A调用项目B方法(项目架构管理)

前言 项目开发中,如果项目比较大,大多采用多项目的方式,主要是为了方便代码管理,也更开发变得更加方便。操作如下: 注:我用的版本是Qt 5.12.3 一、建立项目目录 要求: 1、项目A为主&#xff…

FreeRTOS中的任务与任务切换(笔记)

目录任务的定义栈和任务栈任务控制块任务初始化函数初始化任务栈任务创建函数pxTopOfStack任务列表初始化将任务插入到就绪列表中调度器xPortStartScheduler() 函数prvStartFirstTask()函数 (该函数是偏硬件底层的函数,用汇编语言编写,在port…

中电金信「财务公司核心系统白皮书」正式发布!

随着数字技术的深度应用,数字化转型正迎来新一轮变革。如何促进企业战略转型,助力企业发展提质增效,以标准化、数字化、精细化支撑企业实现高质量发展,已成为财务公司数字化转型的重要课题。 为推进财务公司数字化转型工作要求&a…

恢复照片软件推荐,照片恢复就这么做!

案例:好用的恢复照片软件 【作为一名摄影博主,我每天拍的照片太多了,在筛选的时候总是容易错删重要的照片,大家有什么比较好的照片恢复软件或方法可以推荐吗?万分期待!】 随着数字化时代的发展,人们越来越…

QPixmap存在的坑,内存泄漏

QPixmap加载图片的时候,会把图片数据加入到QPixmapCache缓冲区上 如果多次加载,那么内存会被吃掉越来越多 本意QPixmap是用于显示需要比较快的地方,和硬件关联 QPixmap变量之间的赋值,并不会构造新的图片数据内存,而…

基于Eclipse下使用arm gcc开发GD32调用printf

系列目录 第一章 xxx 目录 系列目录 文章目录 文章目录 系列文章目录前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结前言 开发环境:Eclipse代替Keil,IAR 开发平台:GD32 开发编译器:arm-none-eabi- …

Adobe Acrobat Pro DC 2022的系统要求

Adobe Acrobat Pro DC 2022是一款功能强大的PDF编辑和管理软件。它可以帮助用户创建、编辑、转换、签署和共享PDF文档,并提供了多种工具和功能来优化文档的可访问性、安全性和可靠性。 Adobe Acrobat Pro DC 2022功能特色: 创建和编辑PDF文档&#xff1…

《低代码PaaS驱动集团企业数字化创新白皮书》-大型集团企业的数字化困局

大型集团企业的数字化困局 现状 /态势:数字化发展动力,构建数字化竞争力,实现敏捷的运营、治理、决策、体验 数字化转型大势所趋 全球化地缘政治紧张局势,供应链、通货膨胀、劳动力短缺以及新冠疫情全球大流行更增加了人们对全球…

HLS_OPENCV库的安装

借此机会来记录一下OPENCV库的安装:   首先需要知道的是说起OPENCV库有两种,一种是OPENCV库,还有一种是Xilinx官方自己的OPENCV库,前者可以用来在HLS中进行仿真,无法进行综合,而后者则是可以进行综合的。现将两种库的…

【综述型论文】图神经网络总结

文章目录图神经网络基于模型结构分类的图神经网络1. 循环图神经网络(ResGNNs)2. 卷积图神经网络基于谱域的ConvGNNs(Spectral-based ConvGNNs)基于空域的ConvGNNs(Spatial-based ConvGNNs)谱域图卷积模型和…

Python遥感开发之FY的批量处理

Python遥感开发之FY的批量处理0 FY遥感数据1 批量提取数据2 批量拼接TIF数据3 批量HAM转WGS投影(重要)4 批量掩膜裁剪介绍FY数据的格式,以及FY数据的批量提取数据、批量拼接数据、批量投影转换、批量掩膜裁剪等操作。本博客代码参考《 Hammer…

MySQL SQL优化 【建议熟读并背诵】

插入数据 批量插入数据 insert into tb_test values(1,Tom),(2,Cat),(3,Jerry);手动控制事务 start transaction; insert into tb_test values(1,Tom),(2,Cat),(3,Jerry); insert into tb_test values(4,Tom),(5,Cat),(6,Jerry); insert into tb_test values(7,Tom),(8,Cat…

在Windows中使用Linux命令安装这款软件就可以

由于平时经常使用Linux命令,所以导致在Windows的cmd中输入命令的时候经常打错,提示不是内部或外部命令,也不是可运行的程序。 那么有办法将补全cmd命令,使Linux中的命令在Windows中也能使用呢? 下面我来讲解如何在Win…

微服务架构-服务网关(Gateway)-服务网关在微服务中的应用

服务网关在微服务中的应用 我们将目光转向Spring Cloud应用的外围,讨论微服务架构下的各个模块如何对外提供服务。 1、对外服务的难题 微服务架构下的应用系统体系很庞大,光是需要独立部零的基础组件就有注册中心、配置中心和服务总线、Turbine异常聚…