30/09/2018, 19:06
hàm bẫy lỗi(try_catch) trong java không chạy
mấy bạn cho mình hỏi hàm try_catch trong java chạy như nào vậy? code dưới là code giải phương trình bậc 2! mình thử nhập hệ số a=0 rồi, nhưng hàm catch không thấy báo lỗi số chia bằng 0:
import static java.lang.Math.sqrt;
import java.util.Scanner;
public class try_catch_finally {
public static void main(String[] args) {
float a,b,c,delta;
System.out.println("
Nhap vao he so cua phuong trinh:");
Scanner nhapTT= new Scanner(System.in);
a = nhapTT.nextFloat();
b = nhapTT.nextFloat();
c = nhapTT.nextFloat();
delta=(b*b)-(4*a*c);
if(delta==0){
System.out.println("
Phuong trinh co nghiem kep la:" + (-b/a));
}
if(delta!=0){
if(delta<0)
System.out.println("
Phuong tirnh vo nghiem:");
if(delta>0&&a!=0){
System.out.println("
Phuong trinh co 2 nghiem phan biet:");
System.out.println("
x1 = "+ ((-b)-sqrt(delta))/(2*a));
System.out.println("
x2 = "+ ((-b)+sqrt(delta))/(2*a));
}
else{
System.out.println("
Loi nhap thong tin!");
}
}
try{
System.out.println(b/a + "
");
}
catch(Exception e1){
System.out.println("
phat sinh loi!!!");
System.out.println("
Ten loi la:"+ e1);
}
Bài liên quan





Bạn chỉ
có 1 dòng in kết quả như thế thì làm sao nó bắt lỗi đc.
Bạn cần kiểm tra đoạn code nào thì
encloseđoạn code đó trongtry.sửa như này được không bạn:
như đoạn code này lại đưa ra kết quả đúng
``int a=5;
int b=0;
if(b==0){
System.out.println(" Loi chia cho so 0;");
Cách sửa là cần xử lí cái nào thì cho nó vào try catch
// bạn cần đọc lại tài liệu phần try catch để nắm bắt rõ vấn đề hơn.
cám ơn bạn,để mình coi lại tài liệu xử lí tiếp .!