public static void main(string[] a){
int sum = 0;
while(true){
try {//以两数相除除数不能为0进行举例
system.out.println("请依次输入两个数值进行除法操作:");
scanner scanner = new scanner(system.in);
int one =scanner.nextint();
int two =scanner.nextint();
sum = one/two;
system.out.println("最终结果为:"+sum);
} catch (exception e) {//用catch将错误进行捕捉,这里可以使用多重catch,对于不同的错误进行捕捉,但最后的catch建议为exception。
// todo auto-generated catch block//显示错误堆栈信息
e.printstacktrace();
}finally{
system.out.print("无论有没有错误我都会执行");}
}
}
}
输出:
2.通过try丶catch丶finally丶throw和throws抛出异常给函数调用者进行处理
public class try {
public static void main(string[] a){
try{
function();//在函数调用者处对异常进行处理
}catch(exception e)
{
e.printstacktrace();
}
}
static void function() throws exception{//通过throws将异常进行抛出
system.out.println("请输入一个数值进行判断:");
scanner scanner = new scanner(system.in);
int one =scanner.nextint();
if(one<100)
{
throw new exception();//若输入的数值小于100则抛出异常
}
}
}
输出:
3.自定义异常进行处理
class myexception extends exception{//自定义异常,通过super方法传递异常信息给父级
public myexception(){
super("这是我自定义的异常");
}
}
public class try {
public static void main(string[] a){
try{
function();
}catch(myexception e)
{
e.printstacktrace();
}
}
static void function() throws myexception{
system.out.println("请输入一个数值进行判断:");
scanner scanner = new scanner(system.in);
int one =scanner.nextint();
if(one<100)
{
throw new myexception();//将自定义异常进行抛出
}
}
}