Làm sao để hiểu ngoại lệ trong Java

Cái này thấy không đúng logic cho lắm

Tui nghĩ thế này

try {
    tán(crush);
} catch(CrushTừChốiException) {
    tôi.ví += kiếmTiền();
    crush = tìmGáiKhác();
} finally {
    điĐến(nhà);
}

public void tán(Gái gái) throws CrushTừChốiException {
    /** Điều kiện để tán gái
      * (tiền để ngân hàng 10 tỷ, có xe hơi, nhà lầu,
      * cha làm cán bộ tỉnh Hà Giang,...)
      * —————————————————
      * Nếu tất cả điều kiện không thoả (phế level max)
      * thì throw exception
      **/
    else {
        throw new CrushTừChốiException();
    }
}
2 Likes

Đây tán gái không chuẩn bị phương án B, nếu tán không được thì thất tình đơ cmnl:

Tán(gái);

Đây tán gái không chuẩn bị phương án B, nếu tán không được thì tính tiếp:

try
{
	Tán(gái);
}
catch (Exception e)
{
	Tính_Tiếp();
}

Đây là tán gái có chuẩn bị phương án B, nhưng nếu sự việc ngoài dự kiến cả phương án B thì cũng đơ:

try
{
	Tán(gái);
}
catch (GáiChảnhChóException e)
{
	Tán(trai);
}

Đây là tán gái có chuẩn bị phương án B, nhưng nếu sự việc ngoài dự kiến cả phương án B thì cũng tính tiếp:

try
{
	Tán(gái);
}
catch (GáiChảnhChóException e)
{
	Tán(trai);
}
catch (Exception f)
{
	Tính_Tiếp();
}

Đây là tán gái có chuẩn bị tinh thần nhưng vẫn làm mình làm mẩy, giả vờ bị đơ để anh em vào an ủi:

if (!gái.ChảnhChó)
	Tán(gái);
else
	throw new GáiChảnhChóException();

Đây là tôi, dù tán gái có được hay không, dù có chuẩn bị tinh thần hay không, dù có đang thất tình hay vẫn vui vẻ hoạt bát, dù đã chuyển mục tiêu sang tán trai hay tán chó mèo gì đó, kể cả khi bị trai đẹp bơ đến nỗi bị đơ luôn thì tôi vẫn chơi osu!

try
{
	Tán(gái);
}
catch (GáiChảnhChóException e)
{
	Tán(trai);
}
finally
{
	Chơi(osu!);
}
3 Likes

I guess this code is from someone, who is mother. :grin:

1 Like

cách của mình thì như này(thực tiễn trong DNH):

try 
{
    postTopic(title = "Làm sao để hiểu ngoại lệ trong java", category = CATEGORY.fun, tag = "java")
}
catch(OfftopicException OFE)
{
    admin.sendInfractMessage(type = OFE.printStackTrace);
}
catch(InappropriatedException IE)
{
    admin.sendInfractMessage(type = IE.printStackTrace);
}
catch(SpamException SE)
{
    admin.sendInfractMessage(type = SE.printStackTrace);
}
catch(SumthingElseException SEE)
{
    admin.sendInfractMessage(type = SEE.printStackTrace, comment = "this topic is blah blah blah");
}

P/s: code trên viết bằng kotlin hẳn hoi nhé :wink:

1 Like

Cái này không cần throw exception luôn à? :flushed:

10 điểm luôn anh :thumbsup:

2 Likes

Có trường hợp không bắt exception có thể bị crash với trường hợp có bắt exception mà.

1 Like

Không, ý em là Tán(trai); không có điều kiện gì để throw exception? :thinking:

2 Likes

điều kiện là isGay() == true :joy:

1 Like

Ai biết nó có điều kiện gì. Chạy thử thì biết nó quăng exception gì chứ, không thì cứ bắt chung chung Exception f thôi.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?