构造方法,课程上的意思是为了可以返回自定义异常,只不过为了简单,直接套娃了Exception基类,用Super关键字调用
Exception是父类
可以和父类里的构造方法一样
super是继承父类 默认存在的 不写也能继承父类的方法
构造函数都写错了。。
你的程序只抛出了异常,没有任何处理异常的动作
getMessage()是用来返回错误详细信息的,prinStackTrace()是指出错误的具体位置
在同一个类中:
对于静态方法,其他的静态或非静态方法都可以直接调用它。
而对于非静态方法,其他的非静态方法是可以直接调用它的。但是其他静态方法只有通过对象才能调用它。
不加到里面去也行。
将第6行代码中的Exception改成ArithmeticException。
使用throws new DrunkException("字符串");这样子去抛出自定义的异常
它没报错吗?主方法都写错了
改成:public static void main(String[] args){
}
initCause应该是RuntimeException里的方法,对象加.调用
因为super()是Exception的Constructor(构建器),所以只能在子类Constructor的第一句调用。
666
这样写没报错,但是不知道是不是你想要的效果
try{}catch{}可以直接写在main里吧
是的呢
对8起,我看错了,新问题,为什么不能修改自己的问题,一改就说没登录,但是能回答
就像抛球
程序出错,就会抛出 A球 或 B球 或 C球,
你要用 cache 接住各种抛出来的球
如果抛出 C球 你没接住,程序就会报错停止
你想要对异常进行一些处理,就像老师说的打印,回滚或者回收资源等,你就需要去捕获异常。
不然就是把异常的处理交给调用者,那你就只需要把异常抛给他。
super是父类对象的引用
当然可以了 只是个变量名而已 你自己知道就行 传入String类型的参数就行了
上面这个兄弟是正确的,不过不太完整,而且a是大于2
public class Test02 { public static void main(String[] args) { Scanner input=new Scanner(System.in); for (int i = 0; i <4 ; i++) { int a=input.nextInt(); if (a>2){ System.out.println("您的输入有误,请重新输入"); i--; } } } }
你说的应该是j2ee规范的jms(java message service) ,类似于一个消息接口,JDBC用来连接公共数据库的接口,那JMS就用来连接消息中心的接口,
详细看文章
转载地址:http://blog.csdn.net/gaohuanjie/article/details/42001243
既然你已经定义了值为true的循环,那可以将
System.out.println("请输入第一个数:");
double a = input.nextDouble();
System.out.println("请输入第二个数:");
double b = input.nextDouble();
放到while循环里,每次用户计算完毕或者选择重新输入后都会跳转回输入数字栏
public static void main(String[] args)throws Exception
这里不需要抛异常了吧
public void devide(int a,int b) throws Exception 是不是要改成这样
public void devide(int a,int b) throws my_Exception
个人见解:感觉像是三种强度不同的解决办法。1.一些编译器能识别出来的异常,直接try-catch,少打代码,看着也爽。2.编译器识别不了的,只能自己抛,自定义一个异常,然后main中catch,处理(自己动手丰衣足食HH)3.交给上级处理,这个不太清楚,视频里就说了个“不能处理时往更上级抛”,怎么搞还不知道(TAT)。
public static void main(Strring[] args),这里多了个r,应该是String[]
ExceptionInital类中没有定义test1(),自己也是小白,还不知道怎么解决
希望能帮到你
大佬,你现在还希望工具栏是中文的么。。。。
因为他没有try catch来捕获和处理异常。所以只能抛出给一个有能力处理的上级。
你把抛出异常的类型指定一下试试,我记得这个应该是空指针还是啥的,你去查查试试看