//BlockedException異常類,同NegativeAmountException類似。
目前創新互聯建站已為1000+的企業提供了網站建設、域名、雅安服務器托管、網站托管運營、企業網站設計、西夏網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。
class BlockedException extends Exception{
BlockedException(String s){
super(s);
}
}
public Account{
...
private String status;
public String getStatus(){ return status;}
public void setStatus(String sta){ status = sta; }
//取款方法,取款數額amount; 如果取款數目小于0拋出異常
public void withdraw(double amount) throws NegativeAmountException, BlockedException{
if("blocked".equals(status)){
throw new BlockException("賬戶凍結,不能取款!");
}
...... // 取款方法后面部分與原來相同.
}
.....
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*編寫一個自定義的異常類,包含一個product( )方法(用于兩個數相乘),
如果product( )方法中的兩個參數的乘積小于0,則拋出一個自定義異常類的對象
,輸出錯誤信息和乘積的值。另外要求product( )方法要
用throws關鍵字聲明該方法要拋出自定義異常和算術異常。
*/
public class ExceptionDemo {
public static void main(String[] args) throws MyselfException ,IOException{
System.out.println("請輸入第一個數");
String str1=(new BufferedReader(new InputStreamReader(System.in))).readLine();
System.out.println("請輸入第2個數");
String str2=(new BufferedReader(new InputStreamReader(System.in))).readLine();
System.out.println("你輸入了"+Double.parseDouble(str1)+Double.parseDouble(str2)+"這兩個數");
product(Double.parseDouble(str1),Double.parseDouble(str2));
}
public static double product(double x, double y) throws MyselfException {// 異常聲明
if ((x 0 y 0) || (x 0 y 0))// 異常拋出
/*
* 方法中的兩個參數的乘積小于0,則拋出一個自定義異常類的對象
* ,輸出錯誤信息和乘積的值,,,,,,,則必須有一個人乘數為負,且兩個都不為0才會出負值
*/
{
System.out.println("乘級=" + x * y);
throw new MyselfException("出現兩個參數的乘積小于0的異常");
}// 輸出錯誤信息
else
System.out.println("沒有異常");
System.out.println("乘級=" + x * y); // 乘積的值
return x * y;
}
}
class MyselfException extends Exception {
public MyselfException() {
}
public MyselfException(String message, Throwable cause) {
super(message, cause);
}
public MyselfException(String message) {
super(message);
}
public MyselfException(Throwable cause) {
super(cause);
}
}
static void test() throws Error {注意你這里拋出的是Error
if(true)
throw new AssertionError();
System.out.print("test");這一行代碼根本就不會執行,因為if條件一進來之后直接拋異常就跳出這個方法了
}
public static void main(String[] args) {
try {
test();
} catch(Exception ex) {你這里捕獲的是Exception,但是你拋出的是Error,去搜一下Error和Exception的區別,
System.out.print("exception");因為你拋出的和捕獲的類型不一樣,所以這里不會執行,你這里捕獲一下Error或者在上面拋出Exception,就是c了
}
System.out.print("elld ");
}
java中所有拋出(throw)的東西都派生自Throwable
所以就是E了,就是main方法拋出了一個Throwable
新聞名稱:java拋出異常的代碼題,java拋出異常的語法
網站URL:http://m.kartarina.com/article18/hegegp.html
成都網站建設公司_創新互聯,為您提供手機網站建設、營銷型網站建設、品牌網站制作、企業網站制作、靜態網站、網頁設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯