陳慧
摘 要:Java是計(jì)算機(jī)編程語言的一種類型,通過不同的語言內(nèi)容編輯,可以實(shí)現(xiàn)不同的功能,本文將對Java編程中常見的異常進(jìn)行論述,通過有效的處理減少重復(fù)語言的編輯工作,認(rèn)證掌握真正處理異常工作的情況與對策,實(shí)現(xiàn)Java編程的最大功能。
關(guān)鍵詞:Java技術(shù);異常;對策
Java是一種編程語言,但在開發(fā)的過程中,需要進(jìn)行廣泛的交互設(shè)計(jì),本文將對Java技術(shù)開發(fā)過程中出現(xiàn)的錯(cuò)誤異常提示內(nèi)容進(jìn)行總結(jié),利用不同的異常處理特性進(jìn)行進(jìn)行設(shè)計(jì)工作,通過對資源不可訪問、非法輸入、空輸入等內(nèi)容完成編程語言的創(chuàng)新搭建工作,完成編程終極目的,并針對后續(xù)處理內(nèi)容進(jìn)行有效的總結(jié),為行業(yè)程序人員提供參考建議。
一、java技術(shù)概述
Java是一種高級的應(yīng)用語言,通過對現(xiàn)有語言進(jìn)行編譯,也可以解釋現(xiàn)有的語言特征,通過對Java語言編譯工作,實(shí)現(xiàn)不同功能。簡單的來說,Java是一種代碼的表現(xiàn)形式,在進(jìn)行代碼寫作前,要明確整體的編程思路,并對有關(guān)思路進(jìn)行步驟順序的落了,確定每一個(gè)步驟要實(shí)現(xiàn)那些功能,并運(yùn)用到那些語句、方法及對象,從而運(yùn)用Java語言特別有的表現(xiàn)形式將思路內(nèi)容體現(xiàn)出來[1]。
說到Java技術(shù)的開發(fā),就應(yīng)提到與其相關(guān)的三個(gè)技術(shù)的架構(gòu),首先是JAVAEE,通過開發(fā)企業(yè)環(huán)境下的應(yīng)用程序,利用web程序開發(fā)Java Platform Enterprise Edition。其次是JAVASE,通過Java Platform Standard Edition,完成桌面應(yīng)用程序的開發(fā),同時(shí),它是另外兩中技術(shù)架構(gòu)的基礎(chǔ)。最后是JAVAME,通過Java Platform Micro Edition,開發(fā)電子消費(fèi)產(chǎn)品和嵌入式設(shè)備,如手機(jī)中應(yīng)用的相關(guān)程序。通過數(shù)據(jù)操控、集合操控、統(tǒng)計(jì)操控的方式對有關(guān)代碼進(jìn)行全方位的處理工作,更是基于服務(wù)器的管控模式下,實(shí)現(xiàn)Java技術(shù)的相關(guān)功能[2]。
二、Java技術(shù)作用
Java語言可一分為兩類,一類是編譯,一類是運(yùn)行。其中Javac就是負(fù)責(zé)編譯的部分,當(dāng)執(zhí)行Javac時(shí),會(huì)啟動(dòng)java的編譯器程序。對指定擴(kuò)展名的.Java文件進(jìn)行編譯。 生成了jvm可以識(shí)別的字節(jié)碼文件。也就是class文件,也就是java的運(yùn)行程序。而Java就是負(fù)責(zé)運(yùn)行的部分,通過啟動(dòng)jvm.加載運(yùn)行時(shí)所需的類庫,對class文件進(jìn)行執(zhí)行,完成后續(xù)功能的實(shí)現(xiàn)[3]。
三、異常的內(nèi)容的處理
(一)拋出異常
在程序中拋出異常時(shí),一定要用到throw這個(gè)關(guān)鍵字,其語法如下:
【格式1拋出異常的語法】
throw異常類實(shí)例對象 ;
從格式1中可以發(fā)現(xiàn)在throw后面拋出的是一個(gè)異常類的實(shí)例對象,下面來看一個(gè)實(shí)例:
范例:TestException7_4.java
01 public class TestException7_4
02 {
03? ? ?public static void main(String args[])
04? ? ?{
05? ? ? ? int a=4,b=0;
06? ? ? ? try
07? ? ? ? {
08? ? ? ? ? ? if(b==0)
09? ? ? ? ? ?throw new ArithmeticException("一個(gè)算術(shù)異常"); // 拋出異常
10? ? ? ? ? ?else
11? ? ? ? System.out.println(a+"/"+b+"="+a/b);// 若拋出異常,則執(zhí)行此行
12? ? ? ?}
13? ? ? ?catch(ArithmeticException e
14? ? ? ?{
15? ? ? ? ? ? ? System.out.println("拋出異常為:"+e);
16? ? ? ?}
17? ? }
18 }
輸出結(jié)果:
拋出異常為:Java.lang.ArithmeticException: 一個(gè)算術(shù)異常
有效的的解決對策為:
首先,程序TestException7_4 是要計(jì)算a/b的值。因b是除數(shù),不能為0。若b為0,則系統(tǒng)會(huì)拋出 ArithmeticException異常,代表除到0這個(gè)數(shù)。
其次,在try塊里,利用第8行來判斷除數(shù)b是否為0。如果b=0,則運(yùn)行第9行的 throw語句,拋出 ArithmeticException異常。如果b不為0,則輸出a/b的值。在此例中強(qiáng)制把b設(shè)為0,因此try塊的第9行會(huì)拋出異常,并由第13行的 catch()捕捉到異常。
最后,拋出異常時(shí)throw關(guān)鍵字所拋出的是異常類的實(shí)例對象,因此第9行的throw語句必須使用new關(guān)鍵字來產(chǎn)生對象。
Java提供了throw和throws關(guān)鍵字來拋出異常,在Javadoc中用@throw記錄任何方法可能會(huì)拋出的異常。如果你編寫API或者公共接口,這就變得非常重要。
(二)將檢查型異常轉(zhuǎn)為運(yùn)行時(shí)異常
這是在像Spring之類的多數(shù)框架中用來限制使用檢查型異常的技術(shù)之一,大部分出自于JDBC的檢查型異常,都被包裝進(jìn) DataAccessException中,而(DataAccessException)異常是一種非檢查型異常[4]。這是Java最佳實(shí)踐帶來的好處,特定的異常限制到特定的模塊,像 SQLException 放到DAO層,將意思明確的運(yùn)行時(shí)異常拋到客戶層。
(三)記住對性能而言,異常代價(jià)高昂
需要記住的一件事是異常代價(jià)高昂,同時(shí)讓你的代碼運(yùn)行緩慢。假如你有方法從ResultSet(結(jié)果集)中進(jìn)行讀取,這時(shí)常會(huì)拋出SQLException 異常而不會(huì)移到下一元素,這將會(huì)比不拋出異常的正常代碼執(zhí)行的慢的多。因此最大限度的減少不必要的異常捕捉和移動(dòng),那里沒有什么固定的原因[5]。不要僅僅是拋出和捕捉異常,如果你能使用boolean變量去表示執(zhí)行結(jié)果,可能會(huì)得到更整潔,更高性能的解決方案。修正錯(cuò)誤的根源,避免不必須要的異常捕捉[6]。
結(jié)語:
綜上所述,利用Java的強(qiáng)大的語言功能可以做好有關(guān)軟件內(nèi)容的開發(fā)工作,并在后續(xù)處理工作中發(fā)揮極大的優(yōu)勢性??梢哉f,通過Java可以進(jìn)行不同工作內(nèi)容的加載、分割與設(shè)計(jì)工作,并在不同環(huán)節(jié)之中要做好編程內(nèi)容的異常的查找與改進(jìn)工作,除此外,Java技術(shù)在處理工作中,要分析不同數(shù)據(jù)間的存儲(chǔ)形式降低異常編程的問題,提升交互設(shè)計(jì)的高效性,強(qiáng)化Java在編程中的核心地位。
參考文獻(xiàn):
[1]谷冬冬.Java技術(shù)在圖像處理中的應(yīng)用探究[J].信息與電腦(理論版),2019,31(24):1-2.
[2]沈敏敏.JAVA編程語言在計(jì)算機(jī)軟件開發(fā)中的應(yīng)用研究[J].學(xué)苑教育,2019(24):94.
[3]王志輝.JAVA語言在計(jì)算機(jī)軟件開發(fā)中的應(yīng)用[J].電子技術(shù)與軟件工程,2019(20):42-43.
[4]王萍.計(jì)算機(jī)軟件開發(fā)中JAVA編程語言的應(yīng)用分析[J].信息與電腦(理論版),2019,31(20):64-65+69.
[5]王振鐸,邊倩.基于Java技術(shù)的數(shù)字圖像處理系統(tǒng)的開發(fā)[J].電腦知識(shí)與技術(shù),2019,15(28):97-99.
[6]張?zhí)顩_.JAVA語言在計(jì)算機(jī)軟件開發(fā)中的應(yīng)用[J].風(fēng)景名勝,2019(10):227.