2017-06-02 93 views
0

在這裏看到:The proper way to do exception handlingIntellij:通過IDE創建一個隨機數用作錯誤號/錯誤代碼?

說這個代碼:

function changeBookAuthor(int $id, string $newName){ 
    if(!$newName){ 
    throw new MyAppException('No author name was provided'); 
    } 

    $book = Books::find($id); 

    if(!$book){ 
    throw new MyAppException('The provided book id could not be found'); 
    } 
//.. 
} 

我想改變這種狀況到:

function changeBookAuthor(int $id, string $newName){ 
     if(!$newName){ 
     throw new MyAppException('No author name was provided', <SOMEVERYRANDOMNUMBER>); 
     } 

     $book = Books::find($id); 

     if(!$book){ 
     throw new MyAppException('The provided book id could not be found', <SOMEVERYRANDOMNUMBER>); 
     } 
    //.. 
    } 

的IntelliJ能幫助我在選擇隨機數?

回答

-1

因爲你使用IntelliJ,所以我很喜歡你使用Java。

我環顧四周網上,我發現,您可以生成一個隨機數是這樣的:

import java.util.Random; 

Random random = new Random(); 
int randomInt = random.nextInt(10); 

這會產生0到9之間的隨機數

您的最終代碼如下:

import java.util.Random; 

function changeBookAuthor(int $id, string $newName){ 
    if(!$newName){ 

    Random random = new Random(); 
    int randomInt = random.nextInt(10); 

    throw new MyAppException('No author name was provided', randomInt); 
    } 

    $book = Books::find($id); 

    if(!$book){ 

    Random random = new Random(); 
    int randomInt = random.nextInt(10); 

    throw new MyAppException('The provided book id could not be found', randomINT); 
    } 
//.. 
} 

下面是網站,我從得到的信息:http://alvinalexander.com/blog/post/java/create-some-random-numbers

+0

它需要是一個靜態數字 eg 1234或543535,任何東西。但不是代碼! – Toskan

+0

我不知道你的意思是靜態數 –

+0

比較'random.nextInt(10)'和'2352'你能發現一個區別嗎?一個是代碼,另一個是運行時的常數 – Toskan

0

我個人使用不同類型的異常而不是異常代碼。

例如:

try{ 
    ... 
} catch (PDOException e1){ 
    // Show a message that we could not do SQL work 
} catch (NumberFormatException e2){ 
    // Show a message that input was not a valid number 
} catch (Exception e){ 
    // I'm not sure what was wrong but definitely there was some thing wrong 
} 

但是,如果你仍然想的隨機數,去https://www.random.org,還有一些數生成器,複製值,並將其定義爲在代碼中的常數(我猜您正在使用PHP )

+0

每次都打開一個網站有點繁瑣,不是嗎?我害怕時間寫我自己的插件... – Toskan