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 .!