程序发生不正常情况,即异常,java把异常信息打印到控制台,供程序员参考,程序员可以对程序进行修改,让程序更加健壮。
package ExceptionPcakage;
public class ExceptionTest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=10,b=0,c=3;
System.out.println(devide(a,b));
}
public static int devide(int a,int b) {
return a/b;
}
}
Java中异常是以什么方式存在的?package ExceptionPcakage;
public class ExceptionTest1 {
public static void main(String[] args) {
// 通过异常类“实例化”异常对象
int a=9,b=0;
NumberFormatException fe =new NumberFormatException("数字格式化异常");
System.out.println(fe);
}
}
UML
什么是UML?有什么用?
UML是一种统一建模语言。
一种图标式语言(画图的),UML不是只用java中使用,只要是面向对象的编程语言,都有UML.一般画UML图的都是软件架构师或者说是系统分析师,软件设计师,人员使用。
Object下有Throwable(可抛出异常)
Throwable下有两个分支:Error(不可处理,直接退出JVM)和Exception(可处理)
package Package1;
import java.util.Scanner;
public class ExceptionPractice1 {
public static void main(String[] args) {
UersService aa = new UersService();
Scanner Scan = new Scanner(System.in);
System.out.println("请输入用户名:");
String Name = Scan.next();
System.out.println("请输入密码:");
String Code = Scan.next();
try {
aa.register(Name,Code);
} catch (MyException e) {
e.printStackTrace();
}
}
}
//用户类
package Package1;
public class UersService {
private String AccountName;
private String AccountNameCode;
public UersService() {
}
public UersService(String accountName, String accountNameCode) {
AccountName = accountName;
AccountNameCode = accountNameCode;
}
public String getAccountName() {
return AccountName;
}
public void setAccountName(String accountName) {
AccountName = accountName;
}
public String getAccountNameCode() {
return AccountNameCode;
}
public void setAccountNameCode(String accountNameCode) {
AccountNameCode = accountNameCode;
}
// 注册
public void register(String a,String b)throws MyException{
if(a==null||a.length()>14||a.length()<4)
throw new MyException("用户名请长度应为6到16");
else if(b.length()18)
throw new MyException("密码长度应为6到18");
else
System.out.println("登入成功!欢迎你:"+a);
}
}
//自定义异常类
```go
package Package1;
public class MyException extends Exception{
public MyException() {
}
public MyException(String message) {
super(message);
}
}