class MyException extends Exception //自定義的異常類 繼承Exception類
10年積累的成都網(wǎng)站建設(shè)、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有平房免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
{
private String exceptionName; //定義一個(gè)私有變量,用來(lái)為自定義異常
public MyException(){} //創(chuàng)建一個(gè)無(wú)參數(shù)的構(gòu)造函數(shù)
public MyException(String exceptionName){ //創(chuàng)建一個(gè)有參數(shù)的構(gòu)造函數(shù),傳入的參數(shù)為前面定義的異常名稱
this.exceptionName=exceptionName;
}
public String getExceptionName(){ //定義一個(gè)方法,提供給外部來(lái)獲取私有變量
return this.exceptionName;
}
public static void main(String [] args){
try{
System.out.println("自定義的異常類對(duì)象");
throw new MyException("自定義的異常");//拋一個(gè)自定義的異常類對(duì)象,傳入的參數(shù)就是給控制臺(tái)看的異常
}catch(MyException e){
System.out.println("異常信息:"+e.getExceptionName());
}
}
}
我已經(jīng)盡力你……你懂的!
①
public class DividedByZeroException extends Exception {
private static final long serialVersionUID = 4420887449631055240L;
public String getMessage() {
return "除數(shù)不能為零";
}
}
上面是異常類DividedByZeroException的代碼。
②
import java.util.Scanner;
public class Test {
@SuppressWarnings("resource")
public static void main(String[] args) {
System.out.print("請(qǐng)輸入被除數(shù):");
Scanner scanner1 = new Scanner(System.in);
int input1 = scanner1.nextInt();
System.out.print("請(qǐng)輸入除數(shù):");
Scanner scanner2 = new Scanner(System.in);
int input2 = scanner2.nextInt();
System.out.print("兩個(gè)數(shù)相除結(jié)果為:");
if (input2 == 0) {
try {
throw new DividedByZeroException();
} catch (DividedByZeroException e) {
e.printStackTrace();
}
} else {
System.out.println(input1 / input2);
}
scanner1.close();
scanner2.close();
}
}
上面是測(cè)試類代碼和運(yùn)行結(jié)果,麻煩看一下是否能滿足要求。
public void MyException extends Exception{
public MyExceprion(){
System.out.println("自定義異常");
}
}
public class Exam{
public static void mul() throws MyException{
if(自己寫條件){
throw new MyException();
}
}
}
這個(gè)應(yīng)該能看懂吧,我只是寫了個(gè)結(jié)構(gòu)沒(méi)寫完整程序的,你看懂這個(gè)就行,定義一個(gè)自定義異常,然后在你需要的地方拋出異常,在主方法中調(diào)用方法的時(shí)候達(dá)到一定條件就會(huì)拋出異常
public?void?MyException(String?name){
if(null==name?||?"".equals(name)){
throw?new?RuntimeException("姓名的格式不正確");
}
}
public?static?void?main(String[]?args)?{
try?{
new?aaa().MyException("");
}?catch?(RuntimeException?e)?{
System.out.println(e.getMessage());
}
}
public class TestMyException{
public static void main(String args[]) throws MyException{
public String toString() {
String s = getClass().getName();
String message = getLocalizedMessage();
return (message != null) ? (s + ": " + message) : s;
}
TestMyException.MyException();
} catch(MyException e1) ...{
System.out.println("Exception: " + e1.getMessage());
e1.printStackTrace();
擴(kuò)展資料:
java.awt.datatransfer類 MimeTypeParseException
java.lang.Object
java.lang.Throwablejava.lang.Exception
java.awt.datatransfer.MimeTypeParseException
所有已實(shí)現(xiàn)的接口
Serializablepublic class MimeTypeParseException extends Exception
對(duì)分析相關(guān)異常的 MimeType 進(jìn)行封裝的類
參考資料來(lái)源:百度百科-MimeTypeParseException類
1)先定義一個(gè)類繼承Exception(或者別的RuntimeException等);
2)然后寫個(gè)方法可能拋出這個(gè)異常,并且什么情況下會(huì)拋出異常;
3)調(diào)用這個(gè)方法,寫try,catch語(yǔ)句,捕獲這個(gè)異常;
小例子,你參考看下:
class?UserNotFoundException?extends?RuntimeException?{
public?UserNotFoundException()?{}
public?UserNotFoundException(String?message)?{
super(message);
}
public?void?f()?throws?UserNotFoundException?{
throw?new?UserNotFoundException("用戶名不對(duì)");
}?
}
public?class?Exception??{
public?static?void?main(String?args[])?{
try?{
new?UserNotFoundException().f();
}?catch?(UserNotFoundException?e)?{
System.out.println(e.getMessage());
}
}
}