技术标签: exception jvm Java java 编程语言
声明抛出处理:
public static void main(String args[]) throws IOExceprion;
程序捕获处理:
通过使用try - catch - [finally]
语句块,用来对可能产生异常的代码产生的异常进行捕获,并根据其异常类型进行不同的操作。
import java.util.EmptyStackException;
import java.util.Stack;
class A{
int v = 6;
public int getV() {
return v;
}
}
public class ExcpOp {
public static void Arithmetic() {
int a = 6, b = 0;
try{
int c = a / b;
} catch (ArithmeticException ae) {
System.out.println(ae.getClass().getName()+" has been throw");
} finally {
System.out.println("ArithmeticEp is over!\n");
}
}
public static void NullPointer() {
try {
A a = null;
a.getV();
} catch (NullPointerException npe) {
System.out.println(npe.getClass().getName()+" has been throw");
} finally {
System.out.println("NullPointer is over!\n");
}
}
public static void EmptyStack() {
Stack s = new Stack();
try{
s.push(5);
s.pop();
System.out.println("Pop 1");
s.pop();
System.out.println("Pop 2");
} catch (EmptyStackException ese) {
System.out.println(ese.getClass().getName()+" has been throw");
} finally {
System.out.println("EmptyStack is over!\n");
}
}
public static void IndexOutOfBounds() {
int[] a = new int[3];
for (int i = 0; i<3 ; i++ ) {
a[i] = i;
}
try{
System.out.println(a[4]);
} catch (IndexOutOfBoundsException ioe) {
System.out.println(ioe.getClass().getName()+" has been throw");
} finally {
System.out.println("EmptyStack is over!\n");
}
}
public static void NegativeArraySize() {
try{
int[] a = new int[-3];
} catch (NegativeArraySizeException nase) {
System.out.println(nase.getClass().getName()+" has been throw");
} finally {
System.out.println("NegativeArraySize is over!\n");
}
}
public static void main(String[] args) {
ExcpOp.Arithmetic();
ExcpOp.EmptyStack();
ExcpOp.IndexOutOfBounds();
ExcpOp.NegativeArraySize();
ExcpOp.NullPointer();
}
}
public class MyException extends Exception{
MyException(String msg) {
super(msg);
}
public static void Throw(int a) throws MyException {
if(a <= 666) {
throw new MyException(" 输入不666 ");
}
}
public static void main(String[] args) {
int a = 660;
try{
MyException.Throw(a);
} catch (MyException me) {
me.printStackTrace();
a = 668;
} finally {
System.out.println("此时 a = "+a);
}
}
}
文章浏览阅读8.8k次。ANR即Application Not Responding,一直觉得只要在主线程中注意不要执行耗时操作就不会发生ANR,然而事实告诉我我还是too young too simple,sometimes naive 啊。以前也没遇到过ANR,没分析过ANR,问过同事,同事也说没弄过,没办法只能自己找资料了。ANR问题的分类InputDispatchingTimedOut 应用程序主线程在5秒内没_main" prio=5 tid=1 suspended
文章浏览阅读2.5k次,点赞11次,收藏17次。本次博文简单记录,多卡训练任务中 ,各个 GPU 资源占用情况 ,内容较为基础,后续有新的心再继续补充:多卡训练任务中,主卡需要承担和其他卡之前的通信,可以看到 :实验一:0,1,2,3 四卡训练,0 号主卡多了 3个 通信 进程..._模型训练在0卡上消耗资源比1卡上少
文章浏览阅读398次。【黑盒对抗攻击】SPADE: A Spectral Method for Black-Box Adversarial Robustness Evaluation论文地址:代码地址:论文摘要:主要问题:主要思路:主要贡献:基本概念:谱图理论:对抗性鲁棒性的机器学习:对抗性鲁棒性评估:具体实现:整体框架:基于图的流形构造:论文地址:https://arxiv.org/abs/2102.03716代码地址:https://github.com/Feng-Research/SPADE论文摘要:这篇文章介_spade 对抗网络
文章浏览阅读697次,点赞14次,收藏20次。地理科学数据库网站导航收集近1000个相关网站,由刘洪老师(成都地质调查中心高级工程师)长期维护,定期更新,该版本为2024年最新版本,转发请注明来源为刘洪老师。该网站导航表由刘洪老师(成都地质调查中心高级工程师)长期维护,定期更新。,转发请注明来源为刘洪老师。
文章浏览阅读1w次,点赞5次,收藏37次。有时候我们需要在测量的小程序中加入一个功能,就是生成dxf文件。除了调用各种库,就是要自己看过dxf文件的组码,如果不能使用第三方的东西,那我们就可以用组码中最简单直接的部分来完成生成dxf文件的工作这是我们读入的‘控制点.dat’,用datagridview控价展示出了它们的xyz坐标我们还可以在程序界面中画出来,但这个不是关键了,就不管了,主要看看生成的dxf文件。这个点我没瞄准,左下..._c#生成dxf
文章浏览阅读3.4k次。Android RecyclerView —— 自定义分割线Android RecyclerView —— 基本使用Android RecyclerView —— 适配器封装探索前面说了 RecyclerView 的基本使用以及对适配器的封装,但是在使用 ListView 时,有 dividerHeight 和 divider 属性用来设置分割线的高度和颜色(Drawable),但是在 Re..._android recyclerview自定义分割线
文章浏览阅读144次。今日在用group by 分组的时候遇到了以上问题!看了sql语句一下午也没发现什么问题!百度吧,也没有结果,仔细检查了一下发现我用的是phpstudy新推出的面板,mysql默认的是8.0版本的我并未进行更改一直那么用了!没办法查mysql手册吧!原来是因为:MySQL 5.7.5及以上功能依赖检测功能。如果启用了ONLY_FULL_GROUP_BY SQL模式(默认情况下),MySQ..._phpstrudy of select list is not in group by clause and contains nonaggregate
文章浏览阅读483次。mxnet可以直接调用的数据集有:MNIST(手写数据集)、FashionMNIST(服装数据集,共10类)、CIFAR10(动物&交通工具,共10类)、CIFAR100(含各种各类的事物,共100类)vision.datasetsGluon provides pre-defined vision datasets functions in themxnet.gluon.data.vision.datasetsmodule.Dataset container.Classes.._visiondataset
文章浏览阅读1.9k次。今天看RXW源码的时候,发现有个代码把for循环的节点定义为size_t类型,我想这个循环才几次啊,你就用size_t,逼装的不错哦!,,那么size_t究竟是嘎哈用的呢?让我们来看看!破案了,其实这里就应该用size_t,因为strlen()函数返回的就是size_t。。。。它返回啥,我们就用啥类型,不用数据转换,这是最理想的。。。文章目录学过计算机组成原理应该不会对此有疑问。int小于等于数据线宽度,size_t大于等于地址线宽度。size_t存在的最大原因可能是因为:地址线宽度历史中经常都是大_size_t unsigned long
文章浏览阅读272次。枚举多个条件进行分组时,可能发生重叠,重叠部分仅计入某个组,还是计入所有符合条件的组,这在写 SQL 时,写法大不相同。只计入第一个符合条件的组时,可以通过 case when 转换成常规分组,例如:select (case when age<=18 then ‘Teenager’ when age>=16 and age<=30 then ‘Youth’ when age>=28 and ag..._mysql 相邻数据相同则进行分组
文章浏览阅读972次,点赞41次,收藏16次。本文用超详细配图来生动的讲解简单选择排序和堆排序,就怕你学不会!
文章浏览阅读951次。codeforces 507A Amr and Music 507B Amr and Pins 507C Guess Your Way Out!_in the first line output one integer m representing the maximum number of pr