簡體   English   中英

在java中的單個語句中拋出用戶定義的異常

[英]throw user defined exception in single statement in java

最近我參加了一次采訪。 技術訪談中提出的一個問題是“如何使用單個語句拋出用戶定義的異常”。 我把代碼寫成了

class MyException extends Exception{
public MyExeption(String err){
super(err);
}
class sample{
public static void main(String a[]){
throw new MyException("Error");
}

但他說我使用了2個語句1用於throw語句,而其他語句用於super()語句。 答案是什么。 請清楚我的懷疑。 謝謝

我確信面試官正在尋找你匿名擴展Exception

throw new Exception("Error") {
    // Here is what makes the exception user-defined.
    // You do not need to override anything, but if you want, you can:
    public String getMessage() {
        return "Here is your user-defined exception!";
    }
};

從字面上看,這個問題要求拋出 不要申報和拋出。

throw new MyUserDefinedException("It was declared elsewhere.");

如果你想申報和拋出,那就是另一個答案所說的。 當然這是完整的垃圾代碼,沒有任何意義。 我會懲罰或解雇那些在實際工作中使用這種方法的人。

throw new IllegalArgumentException("BS interview question, take another job."){};

它也不起作用,超過RMI :(最糟糕的是,多少天的調試($ 1000s ..)它將需要再次發現它,如果有些twit曾經為你寫這個bug。

他們可能正在測試您的Java理解,但似乎這些小丑實際上並不知道如何使用/如何使用Java本身。

我的面試問題詢問實際的商業問題。 他們可能非常具有挑戰性。

我不會尋找能夠在語言習語中做出愚蠢無意義事情的白痴,我會尋找能夠解決典型商業應用中不容易出問題的人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM