1、示例一
// try-catch处理异常
public class error {
public static void main(string[] args) {
int num1=34,num2=0;
//使用try包裹住会产生异常的代码段
try{
system.out.println(num1/num2);
}
//使用catch去处理对应的异常
catch(arithmeticexception error){
//处理方法
system.err.println("运算错误,除数不能为0!");
}
system.out.println("程序运行结束!");
}
}
结果验证:
运算错误,除数不能为0!
程序运行结束!
2、示例二
import java.util.inputmismatchexception;
import java.util.scanner;
public class error {
public static void main(string[] args) {
scanner input = new scanner(system.in);
system.out.println("请输入第一个数字:");
//使用try包裹住会产生异常的代码段
try{
int num1=input.nextint();
system.out.println("请输入第二个数字:");
int num2=input.nextint();
system.out.println(num1/num2);
}
//使用catch去处理对应的异常
catch(arithmeticexception error1){
//处理方法
system.err.println("运算错误,除数不能为0!");
}catch(inputmismatchexception error2){
system.err.println("请输入正确的数字!");
}
system.out.println("程序运行结束!");
}
}
结果验证:
结果一:
请输入第一个数字:
123
请输入第二个数字:
123
1
程序运行结束!
结果二:
请输入第一个数字:
123
请输入第二个数字:
b
请输入正确的数字!
程序运行结束!
结果三:
请输入第一个数字:
123
请输入第二个数字:
0
运算错误,除数不能为0!
程序运行结束!
3、示例三
// 用户输入字符串转整型
3.1
public class error {
string str;
public error(string str) {
this.str = str;
}
public string transform(){
try{
int num = integer.parseint(str);
}catch(numberformatexception num){
system.out.println("字符串转整型,请输入正确的数字:");
}catch(exception e){
}
return str;
}
}
// 编写测试类,调用数据类型转换方法,分别传递参数“good!”、20
public class errordemo {
public static void main(string[] args) {
error er = new error("good!");
er.transform();
system.out.println(er.str);
}
}
字符串转整型,请输入正确的数字:
good!
3.2
public class error {
int num = 0;
public error() {
}
public error(int num) {
this.num = num;
}
public int transformtoint(string str){
try{
int num1 = integer.parseint(str);
}catch(numberformatexception num){
system.err.println("字符串转整型,请输入正确的数字:");
}catch(exception error){
error.printstacktrace();
}
return num;
}
}
import java.util.scanner;
public class errordemo {
public static void main(string[] args) {
scanner input = new scanner(system.in);
system.out.println("请输入一个数字:");
string str = input.next();
error toint = new error();
toint.transformtoint(str);
system.out.println(str);
}
}
验证:
请输入一个数字:
123
123
请输入一个数字:
abc
字符串转整型,请输入正确的数字:
abc
4、示例四
//[b]throws、throw抛出异常[/b]
public class error {
string sex ;
public error() {
}
public string getsex() {
return sex;
}
public void setsex(string sex) throws exception {
if(sex.equals("男")|sex.equals("女")){
this.sex = sex;
}else{
throw new exception("性别必须为男或者女!");
}
}
}
public class errordemo {
public static void main(string[] args) {
error er = new error();
try{
er.setsex("熊");
}catch(exception error){
error.printstacktrace();
}
system.out.println("程序结束");
}
}
java.lang.exception: 性别必须为男或者女!
at error.setsex(error.java:22)
at errordemo.main(errordemo.java:9)
程序结束
5、
自定义异常
// 创建excption子类继承[b]excption父类[/b]
//创建类
public class error {
string sex ;
public error() {
}
public string getsex() {
return sex;
}
public void setsex(string sex) throws exception {
if(sex.equals("男")|sex.equals("女")){
this.sex = sex;
}else{
throw new exceptiondemo("性别必须为男或者女!");
}
}
}
//创建exceptiondemo子类
public class exceptiondemo extends exception {
public exceptiondemo() {
super();
}
public exceptiondemo(string message) {
super(message);
}
}
//创建测试类
import java.util.scanner;
public class errordemo {
public static void main(string[] args) {
error er = new error();
try{
scanner next = new scanner(system.in);
system.out.println("请输入性别:");
er.setsex(next.next());
}catch(exception error){
error.printstacktrace();
}
system.out.println("程序结束!");
}
}
结果验证:
请输入性别:
男
程序结束!
请输入性别:
nan
exceptiondemo: 性别必须为男或者女!
at error.setsex(error.java:23)
at errordemo.main(errordemo.java:10)
程序结束!
以上就是java的异常处理 的内容。