異常處理--使用try,catch
程式中總避免不了出現各種意想不到的狀況引發的錯誤,java中的錯誤以物件方式呈現為java.lang.Throwable的各種子類例項.
只要我們能捕捉包裝錯誤的物件,就可以針對改錯誤做一些處理,如,試恢復正常流程,進行日誌記錄,以某種形式提醒使用者.
話不多說,下來我們看一個簡單的例子!
1.使用者可以連續輸入整數,最後輸入0結束後會顯示輸入數的平均值
package dongmengyuan;
/**
* Created by dongmengyuan on 16-11-23.
*/
import java.util.Scanner;
public class Average {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double sum = 0;
int count = 0;
while(true) {
int number = input.nextInt();
if(number == 0) {
break;
}
sum += number;
count++;
}
System.out.printf("平均 %.2f%n" ,sum/count);
}
}
正確輸入每個整數,輸出預期結果:
輸入錯誤的話,
錯誤第一行,Exception in thread “main” java.util.InputMismatchException.
Scanner物件的nextInt()方法,可以將使用者輸入的下一個字串剖析為int值,出現這個錯誤資訊,表示不符合Scanner物件預期.
java中所有錯誤都被打包為物件,我們可以用try,catch代表錯誤物件後做出處理.
package dongmengyuan;
/**
* Created by dongmengyuan on 16-11-23.
*/
import java.util.*;
public class Average3 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double sum = 0;
int count = 0;
while(true) {
try {
int number = input.nextInt();
if(number == 0) {
break;
}
sum += number;
count++;
}
catch (InputMismatchException ex) {
System.out.printf("略過非整數輸入 %s%n",input.next());
}
}
System.out.printf("平均 %.2f%n",sum/count);
}
}
執行結果為
//執行完catch區塊之後,由於還在while迴圈中,所以還可以繼續下一個迴圈流程
try,catch總結
執行程式時,JVM會嘗試執行try區塊中的程式程式碼,如果發生錯誤,執行程式會跳離錯誤發生點,然後比較catch括號中宣告的型別,是否符合被丟擲的錯誤物件型別,如果是的話,就執行catch區塊中的程式程式碼,執行完並不會再返回try區塊.
相關推薦
Java基礎(一)異常處理關鍵字:try catch finally throw throws
cut main 5.1 模型 指針 str control 情況 實例 嗨咯,大家晚上好,我的博客首篇開始了 ,我們一起加油吧! 都說java 語言是非常健壯性 如:垃圾回收機制、內存模型、異常處理,強類型轉換、跨平臺,等等,使得Java語言的受到青睞。今天我們先來聊
java 異常處理方式之一 try—catch——finally
java 異常處理方式之一: try—catch——finally 1. 如何處理Exception的異常 2. 注: 3.dome 1. 如何處理Exception的異常 Java提供的是異常處理的抓拋模型為
SpringBoot2異常處理之用try/catch錯誤資訊並回滾事務(自動回滾/手動回滾/部分回滾)
問題背景 有時候,我們總是需要再SpringBoot2中對一個Service方法做一個完整的事務,發現異常時,進行回滾,然後又能返回錯誤資訊。 場景一:自動回滾(直接丟擲,不try/catch) @Override @Transactional(rollbackFor = E
Java異常處理-2-JVM異常處理方式和try catch處理異常
前面我們大概瞭解了什麼是異常和為什麼要處理異常。這篇我們先通過了解JVM是如何預設處理異常,然後我們是如何主動去捕獲和處理異常的。1.JVM處理異常的方式 在Java中,Java
異常處理--使用try,catch
程式中總避免不了出現各種意想不到的狀況引發的錯誤,java中的錯誤以物件方式呈現為java.lang.Throwable的各種子類例項. 只要我們能捕捉包裝錯誤的物件,就可以針對改錯誤做一些處理,如,試恢復正常流程,進行日誌記錄,以某種形式提醒使用者
SQL Server 異常處理機制(Begin try Begin Catch) 摘錄
RoCE nsa lan seve -- isa weight roc 錯誤信息 begin try --SQL end try begin catch --sql (處理出錯動作) end catch 我們將可能會出錯的sql 寫在begin try..
java關於異常處理只使用try-finally而不使用catch
1. 前言: 通常我們在異常處理的時候一般就使用try-catch, try { // 需要處理的程式碼段 } catch(Exception e) { // 異常處理方法 } 更加好一些的處理方式為try-catch-finally,
C#異常處理機理-程式碼分析
//程式碼核心: //1.通過屬性Age訪問私有欄位_age//2.設計異常處理(溢位,非數字字串,年齡範圍異常,其它異常)//3.自己定義一個異常類,繼承FormatException異常類 using System; public class OutString{
Java異常捕獲之一道try-catch-finally語句題
span pri div system 處理機 out nal exception for 今天,學習了try-catch-finally語句,本來覺得蠻簡單、易懂的。搜了一道相關類型的題。結果信心被潑了盆冷水。先把題Mark一下,出去透透風。 1 public cla
C#中的異常捕獲機制(try catch finally)
一、C#的異常處理所用到關鍵字 try 用於檢查發生的異常,並幫助傳送任何可能的異常。 catch 以控制權更大的方式處理錯誤,可以有多個catch子句。 finally 無論是否引發了異常,finally的程式碼塊都將被執行。 throw 用於引發異常,可引發預定義異常和自定義異常
java入門---異常處理例項之多個異常處理(多個catch)
對異常的處理時,首先就是在宣告異常時,建議宣告更為具體的異常,這樣可以處理的更具體。然後呢,對方宣告幾個異常,就對應幾個catch塊, 如果多個catch塊中的異常出現繼承關係,父類異常catc
java入門---異常處理例項之使用 catch 處理異常
以下例項演示了使用 catch 來處理異常的方法:public class Main { public static void main (String args[]) {
重構機房收費系統你要用的——異常處理和拋出異常(try catch finally)——(vb.net)
style post blue 通過 alt list bcm round 導致 你能保證你的程序不會出問題嗎? 不能 當你的程序執行到某個地方發生了你不想要的結果。你是否想讓它一錯再錯? 不想 你是否想讓你的程序占著茅坑不拉屎? 不想 你是否想知道你的程序出錯的原因?
java中的try-catch-finnal異常處理(學習筆記)
不堪 java sha highlight 抽取 最終 throwable 關鍵字 學習筆記 一、異常概述 異常:Exception,是在運行發生的不正常情況。 原始異常處理: if(條件) { 處理辦法1 處理辦法2 處理辦法3} if(條件) { 處理辦法
java 異常處理機制,throws與throw,try-catch-finally
java 異常處理機制 1.Java異常處理 2.try-catch-finally的程式流程圖 3.關鍵解讀 4.demo 5.不捕獲異常時的情況 在編寫程式時,經常要在可能出現錯誤的地方
Java中try catch finally 中有異常和return時處理先後
public class TestDemo { private static String output = ""; public static void foo(int i) { try { if (i == 1) { throw new Exception(); }
js try catch處理異常
異常:很多情況都會導致異常 當程式出現了異常,會導致異常之後的程式碼無法執行(異常之前的程式碼是正常執行的) 進行異常處理,語法結構: 程式碼1 try{ 可能會出現異常的程式碼2 }catch(e){ 假如出現了異
js的異常處理 try catch
<script language="JavaScript"> try { throw new Error(10,"asdasdasd") } catch (e) { alert(e.message); alert(e.description)
【c#】異常處理:try catch throw
異常處理,是程式語言或計算機硬體裡的一種機制,用於處理軟體或資訊系統中出現的異常狀況(即超出程式正常執行流程的某些特殊條件)。 也就是說,在程式執行時出現的任何意外或異常情況時,處理這種意外或情況的方法,叫做異常處理。
C++中用try - catch處理異常的情況
正常程式碼放在try塊,catch中捕獲try塊用throw關鍵字丟擲的異常。 例如: try { //將可能出現異常的情況放到try塊 if ( a >12 ) throw 12; // a >12時丟擲,若成立下面程式碼就不會再執行了 if ( a < 10 )